From: Tobias Frost Date: Sun, 29 Mar 2026 06:36:13 +0000 (+0200) Subject: libpng1.6 (1.6.56-1) unstable; urgency=high X-Git-Tag: archive/raspbian/1.6.58-1+rpi1~1^2~1 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=153bba5043f39f07b7939fa74eca6192324fd0ae;p=libpng1.6.git libpng1.6 (1.6.56-1) unstable; urgency=high * New upstream release 1.6.56 - .CVE-2026-33416 - Use after free (Closes: #1132012) - CVE-2026-33636 - OOB read/write (Closes: #1132013) [dgit import unpatched libpng1.6 1.6.56-1] --- 153bba5043f39f07b7939fa74eca6192324fd0ae diff --cc debian/changelog index 0000000,0000000..70891e7 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,1931 @@@ ++libpng1.6 (1.6.56-1) unstable; urgency=high ++ ++ * New upstream release 1.6.56 ++ - .CVE-2026-33416 - Use after free (Closes: #1132012) ++ - CVE-2026-33636 - OOB read/write (Closes: #1132013) ++ ++ -- Tobias Frost Sun, 29 Mar 2026 08:36:13 +0200 ++ ++libpng1.6 (1.6.55-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.55 ++ - CVE-2026-25646 (Closes: #1127566) ++ * Bump std-version to 4.7.3, no changes required ++ * Drop R^3: no, default now ++ ++ -- Gianfranco Costamagna Thu, 12 Feb 2026 10:55:21 +0100 ++ ++libpng1.6 (1.6.54-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.54. ++ - CVE-2026-22695 - Heap buffer overread. Closes: #1125443 ++ - CVE-2026-22801 - Heap buffer overread. Closes: #1125444 ++ * Bump d/copyright years. ++ ++ -- Tobias Frost Fri, 16 Jan 2026 08:49:40 +0100 ++ ++libpng1.6 (1.6.53-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.53. ++ ++ -- Tobias Frost Sun, 07 Dec 2025 11:32:41 +0100 ++ ++libpng1.6 (1.6.52-1) unstable; urgency=medium ++ ++ * New upstream versoin 1.6.52 ++ - CVE-2025-66293 - Out of bound read (Closes: #1121877) ++ ++ -- Tobias Frost Thu, 04 Dec 2025 06:24:43 +0100 ++ ++libpng1.6 (1.6.51-1) unstable; urgency=high ++ ++ * New upstream version 1.6.51. ++ - CVE-2025-64505 - Heap buffer overflow. Closes: #1121219 ++ - CVE-2025-64506 - Heap buffer overread. Closes: #1121218 ++ - CVE-2025-64720 - Buffer overflow. Closes: #1121217 ++ - CVE-2025-65018 - Heap buffer. Closes: #1121216 ++ * Enable salsa-ci. ++ * Update d/copyright years, remove unused section. ++ * udeb: install library into usr/lib ++ ++ -- Tobias Frost Mon, 24 Nov 2025 21:06:25 +0100 ++ ++libpng1.6 (1.6.50-1) unstable; urgency=medium ++ ++ * Upload to sid ++ ++ -- Gianfranco Costamagna Sun, 10 Aug 2025 18:09:08 +0200 ++ ++libpng1.6 (1.6.50-1~exp1) experimental; urgency=medium ++ ++ * New upstream version 1.6.50 ++ ++ -- Gianfranco Costamagna Sun, 10 Aug 2025 18:08:25 +0200 ++ ++libpng1.6 (1.6.49-1~exp1) experimental; urgency=medium ++ ++ * New upstream version 1.6.49 ++ * Update copyright file ++ ++ -- Gianfranco Costamagna Sun, 15 Jun 2025 11:32:25 +0200 ++ ++libpng1.6 (1.6.48-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.48 ++ * Ack previous NMU, thanks a lot! ++ ++ -- Gianfranco Costamagna Mon, 05 May 2025 21:11:18 +0200 ++ ++libpng1.6 (1.6.47-1.1) unstable; urgency=high ++ ++ * Non-maintainer upload. ++ * Restore dh_makeshlibs override to fix missing udeb line in shlibs. ++ (Closes: #1100477) ++ ++ -- Cyril Brulebois Fri, 14 Mar 2025 10:39:59 +0100 ++ ++libpng1.6 (1.6.47-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.47 ++ ++ -- Gianfranco Costamagna Fri, 21 Feb 2025 08:01:34 +0100 ++ ++libpng1.6 (1.6.46-4) unstable; urgency=medium ++ ++ * Team upload. ++ ++ [ Jeremy Bícha ] ++ * Set dpkg-gensymbols check level to 4 ++ ++ -- Gianfranco Costamagna Sat, 01 Feb 2025 18:23:23 +0100 ++ ++libpng1.6 (1.6.46-3) unstable; urgency=medium ++ ++ * Add a symbols file for easier maintenance of the package ++ and added symbols ++ ++ -- Gianfranco Costamagna Sat, 01 Feb 2025 08:12:46 +0100 ++ ++libpng1.6 (1.6.46-2) unstable; urgency=medium ++ ++ * Bump shlibs to 1.6.45 due to gtk4 test regression in cICP ++ https://gitlab.gnome.org/GNOME/gtk/-/issues/7275 ++ (Closes: #1093335) ++ ++ -- Gianfranco Costamagna Fri, 31 Jan 2025 15:10:07 +0100 ++ ++libpng1.6 (1.6.46-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.46 ++ ++ -- Gianfranco Costamagna Mon, 27 Jan 2025 09:30:18 +0100 ++ ++libpng1.6 (1.6.45-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.45 ++ * Refresh libpng-config.patch ++ * Update copyright years ++ ++ -- Gianfranco Costamagna Wed, 08 Jan 2025 20:56:30 +0100 ++ ++libpng1.6 (1.6.44-3) unstable; urgency=medium ++ ++ [ Gianfranco Costamagna ] ++ * Team upload ++ ++ [ Helmut Grohne ] ++ * Disable VSX on legacy powerpc CPUs. (Closes: #1086389) ++ ++ -- Gianfranco Costamagna Tue, 10 Dec 2024 22:41:38 +0100 ++ ++libpng1.6 (1.6.44-2) unstable; urgency=low ++ ++ * Switch packaging to cmake ++ ++ -- Gianfranco Costamagna Tue, 17 Sep 2024 11:37:20 +0200 ++ ++libpng1.6 (1.6.44-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.44 ++ * Update copyright file ++ * Bump std-version to 4.7.0 ++ * Relax dependency on dpkg-dev, to ease backports ++ ++ -- Gianfranco Costamagna Tue, 17 Sep 2024 09:56:14 +0200 ++ ++libpng1.6 (1.6.43-5) unstable; urgency=medium ++ ++ * Fixup doc-base path (Closes: #1065063) ++ ++ -- Gianfranco Costamagna Thu, 28 Mar 2024 15:43:50 +0100 ++ ++libpng1.6 (1.6.43-4) unstable; urgency=medium ++ ++ * Fixup udeb naming on shlibs file, making it installable again. ++ (Closes: #1066069) ++ ++ -- Gianfranco Costamagna Thu, 28 Mar 2024 12:38:28 +0100 ++ ++libpng1.6 (1.6.43-3) unstable; urgency=medium ++ ++ * B-D on dpkg-dev (>= 1.22.5) (Closes: #1065259) ++ ++ -- Gianfranco Costamagna Sat, 02 Mar 2024 11:18:15 +0100 ++ ++libpng1.6 (1.6.43-2) unstable; urgency=medium ++ ++ * Upload to sid ++ ++ -- Gianfranco Costamagna Wed, 28 Feb 2024 12:12:53 +0100 ++ ++libpng1.6 (1.6.43-1exp1) experimental; urgency=medium ++ ++ [ Steve Langasek ] ++ * Rename libraries for 64-bit time_t transition. ++ ++ -- Gianfranco Costamagna Mon, 26 Feb 2024 15:47:33 +0100 ++ ++libpng1.6 (1.6.43-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.43 ++ * Add new license for contrib tool ++ ++ -- Gianfranco Costamagna Mon, 26 Feb 2024 15:44:38 +0100 ++ ++libpng1.6 (1.6.42-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.42 ++ * Update metadata location ++ ++ -- Gianfranco Costamagna Tue, 30 Jan 2024 09:03:50 +0100 ++ ++libpng1.6 (1.6.41-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.41 ++ * Bump copyright years ++ * Bump upstream copyright years ++ ++ -- Gianfranco Costamagna Mon, 29 Jan 2024 17:49:45 +0100 ++ ++libpng1.6 (1.6.40-3) unstable; urgency=medium ++ ++ * Update watch file for new github pnggroup location. ++ ++ -- Gianfranco Costamagna Wed, 03 Jan 2024 01:37:41 +0100 ++ ++libpng1.6 (1.6.40-2) unstable; urgency=medium ++ ++ * bump std-version to 4.6.2 ++ * Bump copyright years ++ ++ [ Mathieu Malaterre ] ++ * Drop revision from symbols file (Closes: #1053753) ++ ++ -- Gianfranco Costamagna Tue, 10 Oct 2023 17:54:45 +0200 ++ ++libpng1.6 (1.6.40-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.40 ++ ++ -- Gianfranco Costamagna Sat, 24 Jun 2023 23:08:19 +0200 ++ ++libpng1.6 (1.6.39-2) unstable; urgency=medium ++ ++ [ Helmut Grohne ] ++ * Support the noudeb build profile. (Closes: #1024944) ++ ++ [ Gianfranco Costamagna ] ++ * Upload to sid ++ ++ -- Helmut Grohne Sun, 27 Nov 2022 20:59:26 +0100 ++ ++libpng1.6 (1.6.39-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.39. Fixes CVE-2019-6129. ++ ++ -- Gianfranco Costamagna Sat, 26 Nov 2022 15:21:15 +0100 ++ ++libpng1.6 (1.6.38-2) unstable; urgency=medium ++ ++ * Add manpages to build ++ ++ -- Gianfranco Costamagna Wed, 21 Sep 2022 14:46:45 +0200 ++ ++libpng1.6 (1.6.38-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.38 ++ * Drop all patches, now upstream ++ * Refactor copyright file and bump copyright years ++ * Drop as-needed flag, now default ++ * Add not-installed file ++ * Move installexamples to libpng-dev.examples file ++ ++ -- Gianfranco Costamagna Wed, 21 Sep 2022 12:36:17 +0200 ++ ++libpng1.6 (1.6.37-5) unstable; urgency=medium ++ ++ * debian/patches/eb6767273a4eb5d6f4ad528370d7262cf7aa220c.patch: ++ - cherry-pick upstream fix for memory lieak in png_handle_eXIf function ++ (LP: #1960326) ++ ++ -- Gianfranco Costamagna Mon, 25 Apr 2022 19:29:57 +0200 ++ ++libpng1.6 (1.6.37-4) unstable; urgency=medium ++ ++ * Drop apng support, seems to break chromium ability to open ++ apng files (Closes: #1005850). ++ ++ -- Gianfranco Costamagna Fri, 22 Apr 2022 18:48:37 +0200 ++ ++libpng1.6 (1.6.37-3) unstable; urgency=medium ++ ++ [ Debian Janitor ] ++ * Wrap long lines in changelog entries: 1.2.5-5. ++ ++ [ Gianfranco Costamagna ] ++ * debian/patches/326.patch: ++ - add upstream proposed patch to fix a decode fail with invalid eXIf ++ chunks (Closes: #969502) ++ ++ -- Gianfranco Costamagna Wed, 16 Sep 2020 08:02:32 +0200 ++ ++libpng1.6 (1.6.37-2) unstable; urgency=medium ++ ++ [ Debian Janitor ] ++ * Set upstream metadata fields: Bug-Database, Repository, Repository- ++ Browse. ++ * Rely on pre-initialized dpkg-architecture variables. ++ * Fix day-of-week for changelog entry 1.0.0-0.1. ++ * Set upstream metadata fields: Bug-Submit. ++ ++ [ Gianfranco Costamagna ] ++ * Bump std-version to 4.5.0, no changes required ++ ++ -- Gianfranco Costamagna Fri, 07 Feb 2020 20:00:13 +0100 ++ ++libpng1.6 (1.6.37-1) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- Gianfranco Costamagna Tue, 02 Jul 2019 09:38:43 +0200 ++ ++libpng1.6 (1.6.37-1~exp4) experimental; urgency=medium ++ ++ * debian/patches/72fa126446460347a504f3d9b90f24aed1365595.patch: ++ - cherry-pick upstream possible fix for tests not being parallel-safe ++ (Closes: #920657) ++ ++ -- Gianfranco Costamagna Tue, 23 Apr 2019 18:04:43 +0200 ++ ++libpng1.6 (1.6.37-1~exp3) experimental; urgency=medium ++ ++ * Fix two lintian warnings: ++ - drop upstream signing key, upstream seems to have stopped tarball ++ signatures when moved to github (see upstream issue: #287) ++ - double "version" tag in debian/watch ++ ++ -- Gianfranco Costamagna Tue, 23 Apr 2019 13:15:04 +0200 ++ ++libpng1.6 (1.6.37-1~exp2) experimental; urgency=medium ++ ++ * Simplify tests, by not passing the .libs directory during their ++ execution ++ ++ -- Gianfranco Costamagna Mon, 15 Apr 2019 12:34:29 +0200 ++ ++libpng1.6 (1.6.37-1~exp1) experimental; urgency=medium ++ ++ * New upstream version 1.6.37 ++ - upload to experimental because of freeze ++ * Update watch file for github publish site ++ * Update copyright years and text for pngminus ++ * Drop all upstream patches, patch refresh for apng patch ++ * Bump compat level to 12 ++ ++ -- Gianfranco Costamagna Mon, 15 Apr 2019 10:36:39 +0200 ++ ++libpng1.6 (1.6.36-6) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- Gianfranco Costamagna Mon, 08 Apr 2019 10:55:25 +0200 ++ ++libpng1.6 (1.6.36-5exp1) experimental; urgency=medium ++ ++ * Drop Anibal from uploaders list, ++ thank you for your nice work! (Closes: #925014) ++ * Update copyright years. ++ * Drop patch 272.patch, superseeded by upstream commits: ++ 70d122aac42933ab8a708c538f973c3307853212.patch (uncommented) ++ 82ae623ec9bc3cb5c68aad22596a766e86d593b7.patch ++ a627bd26a375f5c41d54f90a47c838157d1bec97.patch ++ ++ -- Gianfranco Costamagna Wed, 20 Mar 2019 11:58:35 +0100 ++ ++libpng1.6 (1.6.36-5) unstable; urgency=medium ++ ++ * Tweak old 272 patch to add the only relevant part of commit ++ 70d122aac42933ab8a708c538f973c3307853212.patch ++ * Drop 70d122aac42933ab8a708c538f973c3307853212.patch, it breaks the ++ testsuite. ++ ++ -- Gianfranco Costamagna Tue, 05 Feb 2019 12:54:50 +0100 ++ ++libpng1.6 (1.6.36-4) unstable; urgency=high ++ ++ * debian/patches/70d122aac42933ab8a708c538f973c3307853212.patch, ++ debian/patches/8439534daa1d3a5705ba92e653eda9251246dd61.patch: ++ - new fixes for arm64 and general test failures (and leaks) ++ * debian/patches/CVE-2019-7317.patch: ++ - fix for CVE 2019-7317 (Closes: #921355) ++ Thanks Salvatore Bonaccorso for your report! ++ ++ -- Gianfranco Costamagna Tue, 05 Feb 2019 11:43:24 +0100 ++ ++libpng1.6 (1.6.36-3) unstable; urgency=medium ++ ++ * debian/patches/272.patch: ++ - upstream fix for arm64 test failures. ++ - drop previous revert-* patches ++ ++ -- Gianfranco Costamagna Mon, 31 Dec 2018 09:24:07 +0100 ++ ++libpng1.6 (1.6.36-2) unstable; urgency=medium ++ ++ * Update watch file for github location ++ * Add apng support, like what is done in arch linux ++ - https://github.com/glennrp/libpng/issues/267 ++ * d/p/revert-{7734cda20cf1236aef60f3bbd2267c97bbb40869, ++ 1ceaa83a844cd3ecef25279d60720f910b96f297, ++ b66ed711315c46ef6c556c83c0074ecdcbd9937f}.patch: ++ revert on arm64 only the chromebook optimizations, they are ++ making the build fail. ++ - discussion at https://github.com/glennrp/libpng/issues/266 ++ [ Mattia Rizzolo ] ++ * Fixup std-version numbering ++ ++ -- Gianfranco Costamagna Fri, 28 Dec 2018 14:13:52 +0100 ++ ++libpng1.6 (1.6.36-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.36 ++ * update copyright file ++ * Bump std-version to 4.3.0.1, no changes required ++ * drop patch 8a057: upstream ++ * Add nocheck profile in rules file ++ ++ [ Ondřej Nový ] ++ * d/changelog: Remove trailing whitespaces ++ ++ -- Gianfranco Costamagna Thu, 27 Dec 2018 13:47:10 +0100 ++ ++libpng1.6 (1.6.34-2) unstable; urgency=medium ++ ++ [ Salvatore Bonaccorso ] ++ * debian/patches/8a05766cb74af05c04c53e6c9d60c13fc4d59bf2.patch: ++ Closes: #903430 ++ CVE-2018-13785 ++ ++ [ Gianfranco Costamagna ] ++ * Upload to unstable ++ * Switch VCS fields to salsa.d.o ++ * Bump std-version to 4.1.5, no changes required ++ * Switch copyright in https mode ++ ++ -- Gianfranco Costamagna Tue, 10 Jul 2018 13:17:30 +0200 ++ ++libpng1.6 (1.6.34-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.34 ++ * Remove files removed upstream (the failing png files) ++ ++ -- Gianfranco Costamagna Fri, 29 Sep 2017 18:54:51 +0200 ++ ++libpng1.6 (1.6.33-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.33 ++ * Drop idat patch: upstream ++ * Update copyright ++ * Bump std-version to 4.1.1 ++ * Remove some new test png files that make testsuite fail ++ (they fail also on older libpng version, just they weren't available ++ status is tracked at https://sourceforge.net/p/libpng/bugs/271/ ) ++ ++ -- Gianfranco Costamagna Fri, 29 Sep 2017 08:44:54 +0200 ++ ++libpng1.6 (1.6.32-3) unstable; urgency=high ++ ++ * Fix invalid IDAT images, thanks Felix Geyer for the debug/bug reassign! ++ (Closes: #876563) ++ ++ -- Gianfranco Costamagna Tue, 26 Sep 2017 10:15:08 +0200 ++ ++libpng1.6 (1.6.32-2) unstable; urgency=medium ++ ++ * Bump std-version to 4.1.0, now priority is extra ++ * Add missing newline on copyright entry, making lintian sad ++ * Move the examples into the main libpng-dev (Closes: #876244) ++ - thanks Helmut Grohne for the useful bug report! ++ ++ -- Gianfranco Costamagna Sun, 17 Sep 2017 10:37:44 +0200 ++ ++libpng1.6 (1.6.32-1) unstable; urgency=medium ++ ++ * New upstream version 1.6.32 ++ * Update copyright file ++ ++ -- Gianfranco Costamagna Sat, 26 Aug 2017 23:43:31 +0200 ++ ++libpng1.6 (1.6.31-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Update d/watch to point to ftp site and to verify gpg signature. ++ * fix-arm-build.patch removed, fixed upstream. ++ * Update d/copyright (years and add new maintainers) and remove some ++ redudant entries. ++ ++ -- Tobias Frost Fri, 04 Aug 2017 07:10:47 +0200 ++ ++libpng1.6 (1.6.30-2) unstable; urgency=medium ++ ++ * Fix arm* build failures with upstream patch ++ (Closes: #867670) ++ ++ -- Gianfranco Costamagna Sun, 09 Jul 2017 01:02:17 +0200 ++ ++libpng1.6 (1.6.30-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Update copyright ++ * Bump std-version to 4.0.0 ++ ++ -- Gianfranco Costamagna Sat, 08 Jul 2017 12:52:44 +0200 ++ ++libpng1.6 (1.6.29-3) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- Gianfranco Costamagna Mon, 12 Jun 2017 11:22:51 +0200 ++ ++libpng1.6 (1.6.29-2) experimental; urgency=medium ++ ++ * Enable PIE eveywhere ++ ++ -- Gianfranco Costamagna Sat, 22 Apr 2017 14:46:34 +0200 ++ ++libpng1.6 (1.6.29-1) experimental; urgency=medium ++ ++ * New upstream release. ++ - Drop fix multiarch patch: upstream ++ * Use autoreconf. ++ ++ -- Gianfranco Costamagna Mon, 10 Apr 2017 08:39:26 +0200 ++ ++libpng1.6 (1.6.28-1exp4) experimental; urgency=medium ++ ++ * Override autoreconf due to debhelper bug 844504 ++ ++ -- Gianfranco Costamagna Thu, 02 Mar 2017 16:29:47 +0100 ++ ++libpng1.6 (1.6.28-1exp3) experimental; urgency=medium ++ ++ * No-autoreconf for cmake builds ++ ++ -- Gianfranco Costamagna Thu, 02 Mar 2017 16:14:47 +0100 ++ ++libpng1.6 (1.6.28-1exp2) experimental; urgency=medium ++ ++ * Readd multiarch patch, it was merged by ++ upstream on master but not on 1.6 branch ++ ++ -- Gianfranco Costamagna Thu, 02 Mar 2017 15:07:10 +0100 ++ ++libpng1.6 (1.6.28-1exp1) experimental; urgency=medium ++ ++ * Switch to cmake ++ ++ -- Gianfranco Costamagna Mon, 09 Jan 2017 19:53:06 +0100 ++ ++libpng1.6 (1.6.28-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- Gianfranco Costamagna Mon, 09 Jan 2017 19:50:31 +0100 ++ ++libpng1.6 (1.6.27-1) unstable; urgency=medium ++ ++ * New upstream release (Closes: #849799) ++ - Fix for CVE-2016-10087 ++ ++ -- Gianfranco Costamagna Sat, 31 Dec 2016 08:51:32 +0100 ++ ++libpng1.6 (1.6.26-6) unstable; urgency=medium ++ ++ * Enable pie in Debian, disable it in Ubuntu. ++ - thanks pochu :) ++ ++ -- Gianfranco Costamagna Thu, 08 Dec 2016 17:03:30 +0100 ++ ++libpng1.6 (1.6.26-5) unstable; urgency=medium ++ ++ * Revert cmake switch, failing on arm64. ++ ++ -- Gianfranco Costamagna Wed, 07 Dec 2016 08:41:24 +0100 ++ ++libpng1.6 (1.6.26-4) unstable; urgency=low ++ ++ * Upload to unstable. ++ * Disable pie where Ubuntu has not defaulted yet. ++ (armhf, arm64, powerpc) ++ ++ -- Gianfranco Costamagna Tue, 15 Nov 2016 20:50:40 +0100 ++ ++libpng1.6 (1.6.26-3) experimental; urgency=medium ++ ++ * Switch to cmake. ++ ++ -- Gianfranco Costamagna Tue, 15 Nov 2016 20:50:40 +0100 ++ ++libpng1.6 (1.6.26-2) unstable; urgency=medium ++ ++ * Enable full hardening (+pie) (Closes: #844429) ++ ++ -- Gianfranco Costamagna Tue, 15 Nov 2016 18:10:16 +0100 ++ ++libpng1.6 (1.6.26-1) unstable; urgency=low ++ ++ * New upstream release. ++ * Switch to compat level 10 ++ - Drop autoreconf/parallel, automatically injected ++ ++ -- Gianfranco Costamagna Mon, 24 Oct 2016 19:36:32 +0200 ++ ++libpng1.6 (1.6.25-2) unstable; urgency=medium ++ ++ * Mark the -tools package Multi-Arch: foreign. ++ (Closes: #840446). ++ Thanks Francois Gourget for the bug report! ++ ++ -- Gianfranco Costamagna Tue, 11 Oct 2016 19:13:50 +0200 ++ ++libpng1.6 (1.6.25-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- Gianfranco Costamagna Tue, 06 Sep 2016 12:29:51 +0200 ++ ++libpng1.6 (1.6.24-2) unstable; urgency=medium ++ ++ * Stop providing pngcp, because a tool with the same ++ name is provided by pngtools (Closes: #834119, #834118). ++ - Consider re-enabling it if ineeded, but for now the ++ tool has no manpage and no help command. ++ - An alternative might be to make pngtools and libpng-tools ++ conflict each others. ++ ++ -- Gianfranco Costamagna Fri, 12 Aug 2016 10:35:50 +0200 ++ ++libpng1.6 (1.6.24-1) unstable; urgency=medium ++ ++ * New upstream release. ++ - install also new pngcp tool in libpng-tools package. ++ ++ -- Gianfranco Costamagna Thu, 11 Aug 2016 23:14:13 +0200 ++ ++libpng1.6 (1.6.23-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- Gianfranco Costamagna Wed, 15 Jun 2016 16:41:46 +0200 ++ ++libpng1.6 (1.6.22-1) unstable; urgency=medium ++ ++ * New upstream release. ++ - drop fix_define_PNG_READ_16_TO_8.patch: upstream ++ * Update copyright file. ++ ++ -- Gianfranco Costamagna Sun, 05 Jun 2016 23:41:22 +0200 ++ ++libpng1.6 (1.6.21-5) unstable; urgency=medium ++ ++ * d/control: Add VCS-* to repository on collab-maint. ++ * Add patch to properly define PNG_READ_16_TO_8_SUPPORTED (Closes: #824014) ++ * Add d/gbp.conf to ensure signed tags. ++ ++ -- Tobias Frost Wed, 11 May 2016 19:30:16 +0200 ++ ++libpng1.6 (1.6.21-4) unstable; urgency=medium ++ ++ * add libpng-config.patch from the old ++ src:libpng. ++ - disabling multiarch bits in libpng-config has ++ the "side-effect" to let us have a Multiarch libpng-dev package. ++ Closes: #822297 ++ * Make the libpng-dev package Multiarch ready. ++ ++ -- Gianfranco Costamagna Sat, 23 Apr 2016 09:04:06 +0200 ++ ++libpng1.6 (1.6.21-3) unstable; urgency=medium ++ ++ [ Manuel A. Fernandez Montecelo ] ++ * Add hardening flags (excluding PIE. CLoses: #805822) ++ ++ [ Gianfranco Costamagna ] ++ * Drop useless pre-depends line. ++ ++ [ Bart Martens ] ++ * Fix watch file ++ ++ [ Laurent Bigonville ] ++ * Drop useless packages in Replaces field. (Closes: #820887) ++ ++ -- Gianfranco Costamagna Wed, 13 Apr 2016 08:49:30 +0200 ++ ++libpng1.6 (1.6.21-2) unstable; urgency=medium ++ ++ * Upload to unstable. ++ * Add myself and Tobias to uploaders, as per maintainers ++ suggestion. ++ * Bump std-version to 3.9.8, no changes required. ++ ++ -- Gianfranco Costamagna Wed, 06 Apr 2016 17:26:38 +0200 ++ ++libpng1.6 (1.6.21-1) experimental; urgency=medium ++ ++ * Team upload. ++ * New upstream release. ++ * Add upstream signing key ++ * Fix watch file. ++ * Update copyright file. ++ * Drop libpng16-devtools, useless and merged in libpng-dev. ++ (many packages relies on that script for building correctly) ++ - breaks + replaces accordingly. ++ * Remove multiarch -dev package ++ * Rename libpng16-tools to libpng-tools, there is no need of ++ strict versioning here. ++ * Install upstream changelog. ++ * Run upstream testsuite. ++ * Remove README.* files, useless now. ++ ++ -- Gianfranco Costamagna Thu, 31 Mar 2016 14:43:03 +0200 ++ ++libpng1.6 (1.6.20-3) experimental; urgency=medium ++ ++ * Team upload ++ * Move libpng16-dev to libpng-dev, to ease next transitions. ++ * Drop conflicts against mzscheme, pngcrush, pngmeta, ++ povray-3.5, qemacs, some of them disappeared, some of ++ them have later versions already in old-oldstable. ++ * Simplify even more the packaging, probably fixing #813288 ++ * Fix symlinks, and two lintian errors: ++ - library-in-root-and-usr ++ - old-style-config-script-multiarch-path ++ (multiarch: no for libpng16-devtools) ++ * Update standard-version to 3.9.7, no changes required. ++ * Switch to dh-autoreconf (Closes: #813027) ++ * Remove libpng16-devtools circular dependency, recommend it instead. ++ * Fix duplicate description lintian warning ++ * Fix copyright lintian warnings ++ * Remove copyright.in file ++ * Use new plain dh calls in rules file ++ * Remove some old lintian overrides. ++ ++ -- Gianfranco Costamagna Wed, 16 Mar 2016 17:05:08 +0100 ++ ++libpng1.6 (1.6.20-2) experimental; urgency=medium ++ ++ [ Tobias Frost ] ++ * libpng16-16-udeb should not Conflicts: libpng-12-0. ++ ++ [ Anibal Monsalve Salazar ] ++ * debhelper compat version is 9. ++ * debian/control: libpng16-devtools is "Multi-Arch: same". ++ ++ -- Anibal Monsalve Salazar Thu, 28 Jan 2016 10:33:54 +0000 ++ ++libpng1.6 (1.6.20-1.1) experimental; urgency=medium ++ ++ * Non-maintainer upload. ++ * Preparation for the transition, going to experimental. ++ * Make libpng16-dev depend on libpng16-devtools to have libpng-config ++ pulled in automatically for reverse dependencies. ++ * Provide a so-name neutral devtools package ++ ++ -- Tobias Frost Sun, 24 Jan 2016 11:26:12 +0100 ++ ++libpng1.6 (1.6.20-1) experimental; urgency=medium ++ ++ * New upstream release. ++ Fix CVE-2015-8472. ++ Closes: #810074. ++ * Use default options to compress. ++ Remove debian/source/options. ++ ++ -- Anibal Monsalve Salazar Thu, 07 Jan 2016 23:35:21 +0000 ++ ++libpng1.6 (1.6.19-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Update lintian-overrides for 1.6.19. ++ ++ -- Nobuhiro Iwamatsu Wed, 18 Nov 2015 13:07:21 +0900 ++ ++libpng1.6 (1.6.16-1) experimental; urgency=medium ++ ++ * New upstream release (Closes: #773823) ++ Fix CVE-2015-8540. ++ * Standards Version is 3.9.6. ++ * Update debian/copyright. ++ Add infomation of license for other all files. ++ * Update lintian-overrides for 1.6.16. ++ ++ -- Nobuhiro Iwamatsu Sat, 07 Mar 2015 18:33:32 +0900 ++ ++libpng1.6 (1.6.10-2) experimental; urgency=low ++ ++ * Add libpng16-devtools package. ++ Move libpng-config to this package. ++ ++ -- Nobuhiro Iwamatsu Wed, 02 Apr 2014 09:16:13 +0900 ++ ++libpng1.6 (1.6.10-1) experimental; urgency=low ++ ++ * New upstream release (Closes: #740585) ++ Fixed CVE-2014-0333. ++ * Update overrides files. ++ ++ -- Nobuhiro Iwamatsu Sat, 22 Mar 2014 09:58:12 +0900 ++ ++libpng1.6 (1.6.8-2) experimental; urgency=low ++ ++ * Update debian/copyright. (Closes: #735737) ++ ++ -- Nobuhiro Iwamatsu Tue, 21 Jan 2014 08:59:56 +0900 ++ ++libpng1.6 (1.6.8-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Nobuhiro Iwamatsu Wed, 15 Jan 2014 13:10:28 +0900 ++ ++libpng1.6 (1.6.7-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Nobuhiro Iwamatsu Tue, 14 Jan 2014 15:21:52 +0900 ++ ++libpng (1.5.11-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Nobuhiro Iwamatsu Thu, 05 Jul 2012 13:18:14 +0900 ++ ++libpng (1.5.10-3) experimental; urgency=low ++ ++ * Remove libpng12-dev binary package. libpng-dev provides and replaces ++ libpng12-dev. ++ ++ -- Anibal Monsalve Salazar Sat, 19 May 2012 18:55:25 +1000 ++ ++libpng (1.5.10-2) experimental; urgency=low ++ ++ * Add transition packages libpng3, libpng12-0 and libpng12-dev ++ ++ -- Anibal Monsalve Salazar Fri, 18 May 2012 10:09:24 +1000 ++ ++libpng (1.5.10-1) experimental; urgency=high ++ ++ * New upstream version 1.5.10 ++ - Fix CVE-2011-3048 (memory corruption flaw) ++ Closes: 667475 ++ * Standards Version is 3.9.3 ++ ++ -- Anibal Monsalve Salazar Mon, 09 Apr 2012 13:29:39 +1000 ++ ++libpng (1.5.9-1) experimental; urgency=low ++ ++ * New upstream version 1.5.9 ++ ++ The purpose of this release is to fix the dangerous CVE-2011-3026. ++ The libpng patch is different from the one that was distributed ++ earlier by Chromium, in that the libpng user limit feature is not ++ crippled by the patch. ++ ++ Remove 02-660026-CVE-2011-3026.patch ++ ++ -- Anibal Monsalve Salazar Sun, 19 Feb 2012 12:22:43 +1100 ++ ++libpng (1.5.8-1) experimental; urgency=high ++ ++ * New upstream release. ++ Fix a one-byte (stack) buffer-overrun bug in ++ png_formatted_warning(), which could lead to crashes (denial of ++ service) or, conceivably, execution of hostile code. ++ This vulnerability has been assigned ID CVE-2011-3464. ++ * Check for both truncation (64-bit platforms) and integer overflow ++ Fix CVE-2011-3026 ++ Add 02-660026-CVE-2011-3026.patch ++ Closes: 660026 ++ ++ -- Anibal Monsalve Salazar Thu, 16 Feb 2012 09:18:13 +1100 ++ ++libpng (1.5.7-2) experimental; urgency=low ++ ++ * Fix typo from PPFLAGS to CPPFLAGS. ++ ++ -- Nobuhiro Iwamatsu Mon, 09 Jan 2012 21:39:33 +0900 ++ ++libpng (1.5.7-1) experimental; urgency=low ++ ++ * New upstream release. ++ * Update debian/rules. ++ Enabled hardened build flags. (Closes: #654149) ++ ++ -- Nobuhiro Iwamatsu Mon, 09 Jan 2012 21:02:50 +0900 ++ ++libpng (1.5.6-1) experimental; urgency=low ++ ++ * New upstream release. ++ ++ -- Nobuhiro Iwamatsu Mon, 07 Nov 2011 12:35:59 +0900 ++ ++libpng (1.5.5-1) experimental; urgency=low ++ ++ * New upstream release. ++ * Fix lintian error: udeb-uses-non-gzip-data-tarball. ++ Changed option of dh_builddeb for every package. ++ * Fix lintian warning: brace-expansion-in-debhelper-config-file. ++ Remove brace-expansion from debian/libpng-dev.install. ++ ++ -- Nobuhiro Iwamatsu Wed, 26 Oct 2011 12:35:05 +0900 ++ ++libpng (1.5.4-2) experimental; urgency=low ++ ++ * Port Steve Langasek's changes for 1.2.46-1 ++ - Build for multiarch. Closes: 634151 ++ - Drop debian/libpng15-15-udeb.dirs, which just adds a pointless empty ++ directory to the udeb ++ * Update debian/docs and debian/libpng15-15.docs ++ * Add debian/libpng15-15.doc-base ++ * Build-Depend on autotools-dev ++ ++ -- Anibal Monsalve Salazar Tue, 19 Jul 2011 00:49:57 +1000 ++ ++libpng (1.2.46-2) unstable; urgency=low ++ ++ [ Steve Langasek ] ++ * Build for multiarch. Requires converting libpng3 from Arch: all to ++ Arch: any. Closes: 634151 ++ * Drop debian/libpng12-0-udeb.dirs, which just adds a pointless empty ++ directory to the udeb. ++ ++ [ Anibal Monsalve Salazar ] ++ * Fix doc-base file ++ Closes: 633944, 633957, 634120 ++ * Pass "-Zbzip2 -z9" to dpkg-deb ++ ++ -- Anibal Monsalve Salazar Mon, 18 Jul 2011 23:38:25 +1000 ++ ++libpng (1.5.4-1) experimental; urgency=low ++ ++ * New upstream release (Closes: #633871). ++ - Fix CVE: CVE-2011-2690 ++ Buffer overwrite in png_rgb_to_gray ++ - CVE: CVE-2011-2691 ++ Crash in png_default_error due to use of NULL Pointer ++ - CVE: CVE-2011-2692 ++ Memory corruption when handling empty sCAL chunks ++ - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream. ++ ++ -- Nobuhiro Iwamatsu Fri, 15 Jul 2011 12:01:42 +0900 ++ ++libpng (1.2.46-1) unstable; urgency=high ++ ++ * New upstream release (Closes: #633871). ++ - Fix CVE: CVE-2011-2690 ++ Buffer overwrite in png_rgb_to_gray ++ - CVE: CVE-2011-2691 ++ Crash in png_default_error due to use of NULL Pointer ++ - CVE: CVE-2011-2692 ++ Memory corruption when handling empty sCAL chunks ++ - Update patches/01-legacy.patch ++ - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream. ++ ++ -- Nobuhiro Iwamatsu Fri, 15 Jul 2011 11:47:49 +0900 ++ ++libpng (1.5.2-3) experimental; urgency=low ++ ++ * Rename libpng15-dev to libpng-dev ++ ++ -- Anibal Monsalve Salazar Wed, 06 Jul 2011 13:14:03 +1000 ++ ++libpng (1.5.2-2) experimental; urgency=low ++ ++ * Fix 1-byte uninitialized memory reference in png_format_buffer() ++ Fix CVE-2011-2501 ++ Add debian/patches/02-632786-CVE-2011-2501.patch ++ Closes: 632786 ++ * Pass "-Zbzip2 -z9" to dpkg-deb ++ * Fix xc-package-type-in-debian-control ++ * Fix debian-rules-missing-recommended-target ++ ++ -- Anibal Monsalve Salazar Wed, 06 Jul 2011 11:27:05 +1000 ++ ++libpng (1.2.44-3) unstable; urgency=high ++ ++ * Fix 1-byte uninitialized memory reference in png_format_buffer() ++ Fix CVE-2011-2501 ++ Add debian/patches/02-632786-CVE-2011-2501.patch ++ Closes: 632786 ++ * Standards version is 3.9.2 ++ * Fix xc-package-type-in-debian-control ++ * Fix debian-rules-missing-recommended-target ++ ++ -- Anibal Monsalve Salazar Wed, 06 Jul 2011 10:04:32 +1000 ++ ++libpng (1.5.2-1) experimental; urgency=low ++ ++ * New upstream release (Closes: #565821, #574257, #606867). ++ * Remove Sam Hocevar from Uploaders. ++ * Add myself to Uploaders. ++ * Remove libtool, automake and autoconf from Build-depends. ++ * Disable practice of autogen.sh from debian/rules. ++ * Remove support libpng3 package (Closes: #369104, #615558). ++ * Update debian/copyright. ++ - Update copyright holder. ++ - Add new license for contrib/pngsuite (Closes: #615558). ++ * Remove patches directory. ++ * Add libpng15-dev.lintian-overrides. ++ Overrides manpage-has-errors-from-man usr/share/man/man3/libpng.3.gz. ++ ++ -- Nobuhiro Iwamatsu Thu, 09 Jun 2011 21:37:11 +0900 ++ ++libpng (1.2.44-2) unstable; urgency=low ++ ++ * debian/libpng3.links: fix up the compat symlink to point to /lib ++ Patch by Steve Langasek ++ Closes: #579074, LP: #284325 ++ ++ -- Anibal Monsalve Salazar Sun, 13 Mar 2011 14:40:33 +1100 ++ ++libpng (1.2.44-1) unstable; urgency=low ++ ++ * New upstream release ++ Stop memory leak when reading a malformed sCAL chunk ++ ++ -- Anibal Monsalve Salazar Sat, 26 Jun 2010 13:32:43 +1000 ++ ++libpng (1.2.43-1) unstable; urgency=high ++ ++ * New upstream release ++ * Fix CVE-2010-0205 and Cert VU#576029 ++ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0205 ++ https://www.kb.cert.org/vuls/id/576029 ++ Do not stall and consume large quantities of memory while processing ++ certain Portable Network Graphics (PNG) files ++ Closes: 572308 ++ ++ -- Anibal Monsalve Salazar Wed, 03 Mar 2010 16:44:47 +1100 ++ ++libpng (1.2.42-2) unstable; urgency=low ++ ++ * Merge 1.2.42-1ubuntu1 ++ Move libpng from /usr/lib to /lib, so that plymouth is usable on ++ systems with a separate /usr. ++ * Fix out-of-date-standards-version ++ ++ -- Anibal Monsalve Salazar Sun, 14 Feb 2010 13:09:51 +1100 ++ ++libpng (1.2.42-1ubuntu1) lucid; urgency=low ++ ++ * Merge from Debian testing. Remaining changes: ++ - Move libpng from /usr/lib to /lib, so that plymouth is usable on ++ systems with a separate /usr. ++ ++ -- Steve Langasek Thu, 28 Jan 2010 11:57:34 +0000 ++ ++libpng (1.2.42-1) unstable; urgency=low ++ ++ * New upstream release ++ * Remove 02-export-png_set_strip_error_numbers.patch (merged) ++ * Fix debhelper-but-no-misc-depends ++ ++ -- Anibal Monsalve Salazar Sat, 16 Jan 2010 17:53:14 +1100 ++ ++libpng (1.2.41-1ubuntu1) lucid; urgency=low ++ ++ * Move libpng from /usr/lib to /lib, so that plymouth is usable on systems ++ with a separate /usr. ++ ++ -- Steve Langasek Mon, 25 Jan 2010 00:18:15 -0800 ++ ++libpng (1.2.41-1) unstable; urgency=low ++ ++ * New upstream release ++ * Debian source format is 3.0 (quilt) ++ * Update debian/watch ++ * Add 02-export-png_set_strip_error_numbers.patch ++ Define PNG_ERROR_NUMBERS_SUPPORTED ++ Upstream doesn't define PNG_ERROR_NUMBERS_SUPPORTED since 1.2.41. As ++ a consecuence, the symbol png_set_strip_error_numbe@@PNG12_0 wasn't ++ exported. ++ ++ -- Anibal Monsalve Salazar Fri, 04 Dec 2009 11:23:50 +1100 ++ ++libpng (1.2.40-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Anibal Monsalve Salazar Wed, 07 Oct 2009 12:44:09 +1100 ++ ++libpng (1.2.39-1) unstable; urgency=low ++ ++ * New upstream release ++ * Fix out-of-date-standards-version ++ * Fix patch-system-but-no-source-readme ++ ++ -- Anibal Monsalve Salazar Thu, 20 Aug 2009 14:57:46 +1000 ++ ++libpng (1.2.38-1) unstable; urgency=low ++ ++ * New upstream release ++ * Fix out-of-date-standards-version ++ * Update upstream homepage ++ Closes: 536474 ++ ++ -- Anibal Monsalve Salazar Sat, 18 Jul 2009 05:44:23 +1000 ++ ++libpng (1.2.37-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Anibal Monsalve Salazar Thu, 04 Jun 2009 23:03:58 +1000 ++ ++libpng (1.2.36-1) unstable; urgency=low ++ ++ * New upstream release ++ * Standards-Version is 3.8.1 ++ * debhelper compat is 7 ++ * Run dh_prep instead of dh_clean -k ++ ++ -- Anibal Monsalve Salazar Fri, 22 May 2009 09:11:26 +1000 ++ ++libpng (1.2.35-1) unstable; urgency=high ++ ++ * New upstream release ++ - http://secunia.com/advisories/33970/ ++ Fix a vulnerability reported by Tavis Ormandy in which ++ some arrays of pointers are not initialized prior to using ++ "malloc" to define the pointers. ++ Closes: #516256 ++ - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5907 ++ The png_check_keyword function in pngwutil.c in libpng, might ++ allow context-dependent attackers to set the value of an ++ arbitrary memory location to zero via vectors involving ++ creation of crafted PNG files with keywords, related to an ++ implicit cast of the '\0' character constant to a NULL pointer. ++ * Don't build libpng3 when binary-indep target is not called. ++ Closes: #486415 ++ ++ -- Anibal Monsalve Salazar Sat, 21 Feb 2009 15:50:52 +1100 ++ ++libpng (1.2.33-2) unstable; urgency=low ++ ++ * Fix the following lintian issues: ++ W: libpng12-0: copyright-refers-to-versionless-license-file ++ usr/share/common-licenses/GPL ++ ++ -- Anibal Monsalve Salazar Mon, 16 Feb 2009 11:32:17 +1100 ++ ++libpng (1.2.33-1) experimental; urgency=low ++ ++ * New upstream release ++ - Fix memory leak after reading a malformed tEXt chunk ++ ++ -- Anibal Monsalve Salazar Sat, 01 Nov 2008 17:21:56 +1100 ++ ++libpng (1.2.32-1) experimental; urgency=low ++ ++ * New upstream release ++ - libpng.pc is configured to do static linking; closes: #483477 ++ - use autoconf variables in .pc and libpng-config; closes: #483478 ++ * Remove debian/patches/02-501109-pngtest.c.diff; it was merged ++ ++ -- Anibal Monsalve Salazar Sun, 05 Oct 2008 08:20:20 +1100 ++ ++libpng (1.2.27-2) unstable; urgency=medium ++ ++ * Fix CVE-2008-3964: off-by-one error in pngtest.c; closes: #501109 ++ * Standards-Version is 3.8.0 ++ ++ -- Anibal Monsalve Salazar Sat, 04 Oct 2008 19:45:17 +1000 ++ ++libpng (1.2.27-1) unstable; urgency=low ++ ++ * New upstream release ++ * Patches merged upstream: ++ debian/patches/02-476669-CVE-2008-1382.diff ++ debian/patches/03-404514-png.5.diff ++ * Run ./autogen.sh ++ ++ -- Anibal Monsalve Salazar Tue, 29 Apr 2008 17:22:16 +1000 ++ ++libpng (1.2.26-1) unstable; urgency=high ++ ++ * New upstream release. Closes: #431202 ++ * Use quilt ++ Add 01-legacy.diff ++ * Fix CVE-2008-1382 denial of service and possibly code execution ++ Add 02-476669-CVE-2008-1382.diff ++ Closes: #476669 ++ * Fix URL in png.5. Closes: #404514 ++ Add 03-404514-png.5.diff ++ * Move examples to libpng12-dev. Closes: #401467 ++ * Fix "libpng (<= 1.2.20) contains grey-licensed code". Closes: #469126 ++ * Fix the following lintian issues: ++ W: libpng source: debian-rules-ignores-make-clean-error line 37 ++ W: libpng source: substvar-source-version-is-deprecated libpng12-dev ++ W: libpng source: out-of-date-standards-version 3.7.2 (current is 3.7.3) ++ W: libpng12-0-udeb udeb: description-contains-homepage ++ W: libpng3: description-contains-homepage ++ W: libpng12-dev: description-contains-homepage ++ W: libpng12-0: package-contains-empty-directory usr/bin/ ++ W: libpng12-0: package-contains-empty-directory usr/sbin/ ++ W: libpng12-0: description-contains-homepage ++ W: libpng12-0: doc-base-unknown-section libpng12:22 Apps/Programming ++ ++ -- Anibal Monsalve Salazar Sun, 20 Apr 2008 18:22:32 +1000 ++ ++libpng (1.2.15~beta5-3) unstable; urgency=high ++ ++ * ACKed NMU. ++ * Fixed out-of-bounds read operations triggered by crafted ++ png image files (CVE-2007-5269) (Closes: #446308). ++ ++ -- Anibal Monsalve Salazar Sun, 14 Oct 2007 09:55:00 +1000 ++ ++libpng (1.2.15~beta5-2.1) unstable; urgency=high ++ ++ * Non-maintainer upload by testing security team. ++ * Fixed out-of-bounds read operations triggered by crafted ++ png image files (CVE-2007-5269) (Closes: #446308). ++ ++ -- Nico Golde Sun, 14 Oct 2007 01:12:51 +0200 ++ ++libpng (1.2.15~beta5-2) unstable; urgency=high ++ ++ * It seems that a grayscale image with a malformed (bad CRC) tRNS ++ chunk will crash libpng and mozilla. Closes: #424729. ++ - CVE-2007-2445 ++ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2007-2445 ++ - CERT Vulnerability Note VU#684664 ++ http://www.kb.cert.org/vuls/id/684664 ++ ++ -- Anibal Monsalve Salazar Wed, 09 May 2007 17:34:02 +1000 ++ ++libpng (1.2.15~beta5-1) unstable; urgency=low ++ ++ * Applied legacy_symbols.patch. ++ * Changed shlibs dependecy versions to ">= 1.2.13-4". ++ * libpng12-0: Added the following conflicts: mzscheme (<= 1:209-5), ++ pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), qemacs (<= 0.3.1-5), ++ povray-3.5 (<= 3.5.0c-10). ++ ++ -- Anibal Monsalve Salazar Wed, 20 Dec 2006 10:24:18 +1100 ++ ++libpng (1.2.15~beta5-0) unstable; urgency=high ++ ++ * New upstream release. ++ - Fixed asm API functions not exported on amd64. Closes: #401044. ++ - Fixed "libpng hangs when saving profile". Closes: #401423. ++ * Fixed "Incorrect shlibs information". Closes: #401465. ++ * Removed patches for png.h and pngconf.h. ++ * Updated debian/watch. ++ ++ -- Anibal Monsalve Salazar Sun, 03 Dec 2006 14:47:41 +1100 ++ ++libpng (1.2.13-4) unstable; urgency=low ++ ++ * Removed drop_pass_width patch. Closes: #399499. ++ ++ -- Anibal Monsalve Salazar Tue, 21 Nov 2006 19:07:43 +1100 ++ ++libpng (1.2.13-3) unstable; urgency=low ++ ++ * libpng12-dev: removed the conflict with libpng3-dev. ++ ++ -- Anibal Monsalve Salazar Sun, 19 Nov 2006 16:36:02 +1100 ++ ++libpng (1.2.13-2) unstable; urgency=low ++ ++ * Put back binary package libpng3. ++ ++ -- Anibal Monsalve Salazar Sun, 19 Nov 2006 15:32:39 +1100 ++ ++libpng (1.2.13-1) unstable; urgency=low ++ ++ * Fixed conflict with the new libpng package. Closes: #399296. ++ * Fixed png.5 man page formatting. Closes: #353061. ++ Patch by Kevin Ryde . ++ ++ -- Anibal Monsalve Salazar Sun, 19 Nov 2006 13:55:17 +1100 ++ ++libpng (1.2.13-0) unstable; urgency=high ++ ++ * New upstream release. ++ * CVE-2006-5793: Fixed a new security issue regarding malformed ++ sPLT chunks. Closes: #398706. ++ * Transitional package libpng3 is not shipped anymore. ++ Closes: #369104. ++ ++ -- Anibal Monsalve Salazar Sun, 19 Nov 2006 09:02:09 +1100 ++ ++libpng (1.2.12-0) unstable; urgency=high ++ ++ * New upstream release. Closes: #366070. ++ * CVE-2006-3334: Fixed Buffer overflow in the png_decompress_chunk ++ function in pngrutil.c in libpng before 1.2.12 allows ++ context-dependent attackers to cause a denial of service and ++ possibly execute arbitrary code via unspecified vectors related ++ to "chunk error processing," possibly involving the "chunk_name". ++ Closes: #397892. ++ * Removed debian/x86_patches/pnggccrd-PIC.patch as it's merged ++ upstream. ++ ++ -- Anibal Monsalve Salazar Thu, 09 Nov 2006 19:25:08 +1100 ++ ++libpng (1.2.8rel-7) unstable; urgency=low ++ ++ * New maintainer. Closes: #393109. ++ * ACK NMUs. Closes: #378463, #377298, #356252. ++ * debian/control: ++ - set Standards-Version to 3.7.2. ++ - set Priority to extra for libpng12-0-udeb. ++ - added ${misc:Depends} to libpng12-0 and libpng12-0-udeb ++ dependency lists. ++ * Added debian/watch file. ++ ++ -- Anibal Monsalve Salazar Mon, 16 Oct 2006 17:34:58 +1000 ++ ++libpng (1.2.8rel-6) unstable; urgency=low ++ ++ * Orphaning package. ++ ++ -- Josselin Mouette Sun, 15 Oct 2006 03:22:24 +0200 ++ ++libpng (1.2.8rel-5.2) unstable; urgency=low ++ ++ * Non-maintainer upload. ++ * Backport changes from 1.2.12 to fix a buffer overflow in ++ png_decompress_chunk; patch by Alec Berryman. [CVE-2006-3334] ++ (Closes: #377298) ++ ++ -- Steinar H. Gunderson Sun, 16 Jul 2006 16:27:56 +0200 ++ ++libpng (1.2.8rel-5.1) unstable; urgency=low ++ ++ * Non Maintainer Upload (closes: #356252). ++ * Add support for udeb dependency resolution in shlibs file. ++ * Update debhelper compatibility to level 5. ++ ++ -- Frans Pop Thu, 30 Mar 2006 11:46:39 +0200 ++ ++libpng (1.2.8rel-5) unstable; urgency=low ++ ++ * drop_pass_width.patch: don't export png_pass_width, it's absolutely ++ unnecessary. ++ * libpng12-0.shlibs: downgrade the shlibs accordingly ++ (closes: #331383). ++ ++ -- Josselin Mouette Mon, 3 Oct 2005 20:18:43 +0200 ++ ++libpng (1.2.8rel-4) unstable; urgency=low ++ ++ * makefile.patch: ++ + Use PNG_PRIVATE to get the list of private symbols as well. It ++ sucks, but they've been there for too long (closes: #329886). ++ + Use mawk instead of awk (closes: #329812). ++ * control: build-depend on mawk. ++ * rules: ++ + Use -O2, not -O3. ++ + Actually run the tests. ++ + Make use of x86_patches/ on x86 architectures. ++ * x86_patches/mmxbuild.patch: build MMX routines in pnggccrd.c. ++ * x86_patches/pnggccrd-PIC.patch: patch from Christian Aichinger ++ to make the assembly routines PIC-compatible. ++ * libpng12-0.shlibs: bump the shlibs version. ++ ++ -- Josselin Mouette Sun, 25 Sep 2005 15:25:34 +0200 ++ ++libpng (1.2.8rel-3) unstable; urgency=low ++ ++ * Upload to unstable. ++ * Rename the source package to libpng. ++ ++ -- Josselin Mouette Thu, 22 Sep 2005 18:24:37 +0200 ++ ++libpng3 (1.2.8rel-2) experimental; urgency=low ++ ++ * makefile.patch: ++ + now patch makefile.elf, so that only public symbols are truly ++ exported. ++ + shorten the differences as much as possible. ++ * rules: use makefile.elf now. ++ * Move libpng3 to oldlibs. ++ * Entirely remove libpng3-dev, making libpng12-dev provide it ++ (closes: #322051). ++ * poynton.patch: correct Charles Poynton's address (closes: #289437). ++ * Don't run the test when cross-building (closes: #285427). ++ * setjmp_error.patch: don't stop when we are not using _BSD_SOURCE, as ++ in this case this is harmless (closes: #299343). ++ * libpng3.postinst: removed, the fix is in sarge. ++ * Standards-version is 3.6.2. ++ * legacy_symbols.patch: still export png_read_destroy and ++ png_write_destroy, which are deprecated but should nevertheless be ++ accessible. ++ ++ -- Josselin Mouette Tue, 13 Sep 2005 02:07:16 +0200 ++ ++libpng3 (1.2.8rel-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * read_transformations.patch: removed, included upstream. ++ * libpng12-0.shlibs: Update to version 1.2.8rel, new flags seem to have been ++ added. ++ ++ -- Josselin Mouette Sat, 4 Dec 2004 15:54:53 +0100 ++ ++libpng3 (1.2.8beta5-2) unstable; urgency=medium ++ ++ * read_transformations.patch: fix segmentation fault with latex ++ (closes: #281789) and totem (closes: #278618). ++ ++ -- Josselin Mouette Thu, 25 Nov 2004 16:49:28 +0100 ++ ++libpng3 (1.2.8beta5-1) unstable; urgency=medium ++ ++ * New upstream release. ++ + Correct segmentation violation in png_combine_row. ++ Closes: #278526, #278917, #278921, #279258, #281789, #282368. ++ ++ -- Josselin Mouette Wed, 24 Nov 2004 13:53:49 +0100 ++ ++libpng3 (1.2.7-1) unstable; urgency=medium ++ ++ * New upstream release (closes: #278308). ++ * libpng12-0.shlibs: update shlibs to version 1.2.7. ++ * Remove all security fixed, they are included upstream. ++ ++ -- Josselin Mouette Tue, 26 Oct 2004 13:40:25 +0200 ++ ++libpng3 (1.2.5.0-9) unstable; urgency=high ++ ++ * CAN-2004-0954.patch: removed, this is already fixed in ++ CAN-2004-0597_0598_0599.patch. ++ ++ -- Josselin Mouette Tue, 19 Oct 2004 10:52:28 +0200 ++ ++libpng3 (1.2.5.0-8) unstable; urgency=high ++ ++ * Switch to CDBS. ++ + Ship modifications and security fixes in debian/patches. ++ + debian/rules: rewritten. ++ + debian/control: build-depend on cdbs. ++ + debian/libpng12-0.shlibs: new. ++ * setjmp_error.patch: port explanation of the error when including setjmp.h ++ from libpng10, thanks Matijs van Zuijlen ++ (closes: #273473). ++ * CAN-2004-0954.patch: fix buffer overflow vulnerability in ++ png_handle_tRNS(). ++ * CAN-2004-0955.patch: fix integer arithmetic overflow vulnerability in ++ png_read_png(). ++ ++ -- Josselin Mouette Thu, 14 Oct 2004 20:06:08 +0200 ++ ++libpng3 (1.2.5.0-7) unstable; urgency=high ++ ++ * pngrtran.c: applied upstream patch 4 to fix incorrect calculation of ++ buffer offsets [CAN-2004-0768]. ++ * png.h, pngpread.c, pngrutil.c: patch from Chris Evans ++ to fix several vulnerabilities (closes: #263500): ++ + libpng fails to properly check length on PNG data [CAN-2004-0597]. ++ + libpng "png_handle_sBIT" does not perform proper checks to avoid stack ++ buffer overflow [CAN-2004-0597]. ++ + libpng "png_handle_iCCP" possible NULL-pointer crash ++ [CAN-2004-0598]. ++ + libpng "png_handle_sPLT" possible integer overflow ++ [CAN-2004-0599]. ++ + libpng "png_read_png" does not properly handle a PNG with excessive ++ height (integer overflow) [CAN-2004-0599]. ++ + libpng progressive reading integer overflow [CAN-2004-0599]. ++ ++ -- Josselin Mouette Thu, 5 Aug 2004 12:37:32 +0200 ++ ++libpng3 (1.2.5.0-6) unstable; urgency=high ++ ++ * pngerror.c: applied patch by Steve Grubb to ++ fix unintended memory access that could result in a crash of the ++ application linking against libpng [CAN-2004-0421]. ++ ++ -- Josselin Mouette Tue, 20 Apr 2004 13:39:02 +0200 ++ ++libpng3 (1.2.5.0-5) unstable; urgency=low ++ ++ * Use debhelper 4.2, which generates the udeb appropriately. ++ * Update control and rules appropriately. ++ * Don't use ${shlibs:Depends} for the udeb, rather write the ++ dependencies by hand. ++ * Standards-version is 3.6.1. ++ ++ -- Josselin Mouette Fri, 20 Feb 2004 19:23:05 +0100 ++ ++libpng3 (1.2.5.0-4) unstable; urgency=low ++ ++ * scripts/makefile.linux: use versioned dependencies ++ (closes: #155891). ++ * debian/rules: bump dependency for dh_makeshlibs. ++ * add the libpng.a link in libpng12-dev. ++ * Rework scripts/makefile.linux to make it more consistent. ++ * Update stuff in debian/ accordingly. ++ * Updated README.Debian. ++ ++ -- Josselin Mouette Tue, 10 Jun 2003 18:14:32 +0200 ++ ++libpng3 (1.2.5.0-3) unstable; urgency=low ++ ++ * Make libpng3{,-dev} depend on libpng12-{0,dev} >= 1.2.5.0-2 instead ++ of the strict source version. ++ * Move /usr/share/doc/libpng3{,-dev} into symlinks at postinst time ++ when directories already exist. ++ * debian/rules: install correctly doc-base stuff. ++ * debian/libpng12-dev.doc-base: updated URIs. ++ ++ -- Josselin Mouette Tue, 6 May 2003 19:44:59 +0200 ++ ++libpng3 (1.2.5.0-2) unstable; urgency=low ++ ++ * scripts/{makefile.linux,libpng-config-body.in}: correct the ++ libpng12-config script. ++ * Install correctly pkg-config stuff (closes: #191081). ++ * Make libpng12-dev conflict explicitly with libpng12-0-dev. ++ * Update README.Debian. ++ ++ -- Josselin Mouette Mon, 28 Apr 2003 19:42:15 +0200 ++ ++libpng3 (1.2.5.0-1) unstable; urgency=low ++ ++ * New maintainer. ++ * Use real upstream tarball from 1.2.5 release. ++ * Use dpkg-source's way instead of dpatch for patching. ++ * A bit of rework in debian/rules, use dh_install and debhelper 4. ++ * Standards-version is 3.5.9. ++ * The -dev package is now named libpng12-dev (stop using the ++ libpkg-guide way). ++ * libpng3 is now arch-independent. ++ * Improved descriptions a bit. ++ * Don't supply libpngpf.3, it is not useful to programmers. ++ ++ -- Josselin Mouette Wed, 16 Apr 2003 18:41:02 +0200 ++ ++libpng3 (1.2.5-11) unstable; urgency=low ++ ++ * Add udeb (closes: #174842) ++ * Add missing section on source files. ++ ++ -- Junichi Uekawa Mon, 31 Mar 2003 00:28:06 +0900 ++ ++libpng3 (1.2.5-10) unstable; urgency=low ++ ++ * Rebuild with d-shlibs with fixed "libgcc_s1-dev" handling (for gcc-3.2). ++ (closes: #178070), build-depend on d-shlibs 0.10 or greater. ++ ++ -- Junichi Uekawa Fri, 24 Jan 2003 12:23:35 +0900 ++ ++libpng3 (1.2.5-9) unstable; urgency=low ++ ++ * Use dpatch for patch system -- divide Debian patch, and security fix patch. ++ * Standards-Version: 3.5.8 ++ * add manual page libpng-config.1 and libpng12-config.1 ++ ++ -- Junichi Uekawa Wed, 15 Jan 2003 17:55:17 +0900 ++ ++libpng3 (1.2.5-8) unstable; urgency=low ++ ++ * Sorry folks, I made a mistake. ++ * Forward-port of patch from the Security Team, ++ really apply what was there. (closes: #172868,#172871) ++ ++ -- Junichi Uekawa Fri, 13 Dec 2002 16:12:01 +0900 ++ ++libpng3 (1.2.5-7) unstable; urgency=high ++ ++ * Forward-port of patch from the Security Team ++ * Applied patch to pngrtran.c by Glenn Randers-Pehrson ++ to fix a buffer overrun. ++ ++ -- Junichi Uekawa Thu, 12 Dec 2002 20:36:28 +0900 ++ ++libpng3 (1.2.5-6) unstable; urgency=low ++ ++ * Typo in scripts/makefile.linux. ++ Mistake. -lz and -lm weren't happening. ++ * Change LDFLAGS to not list -lz -lm, so that testsuite will catch such error. ++ * set prefix=/usr/ in scripts/makefile.linux, since it was set to usr/local. ++ ++ -- Junichi Uekawa Wed, 30 Oct 2002 20:54:54 +0900 ++ ++libpng3 (1.2.5-5) unstable; urgency=low ++ ++ * scripts/makefile.linux: LIBADDFLAGS introduced, for shared library lib ++ additional ++ flags, and use that for shared library. ++ - this should fix build failure (closes: #166704) ++ Thanks Daniel Schepler for reporting. ++ * updated copyright file to note that libpng3 in Debian is patched to ++ link with -lz -lm. ++ ++ -- Junichi Uekawa Mon, 28 Oct 2002 12:25:57 +0900 ++ ++libpng3 (1.2.5-4) unstable; urgency=low ++ ++ * Trying to fix the problem that libpng3 seems to be not linked against libz. ++ LDFLAGS was defined but not being used. ++ Thanks Mike Furr for reporting (closes: #166489) ++ ++ -- Junichi Uekawa Sun, 27 Oct 2002 16:07:54 +0900 ++ ++libpng3 (1.2.5-3) unstable; urgency=low ++ ++ * Fixed description, I mixed up the -devel and non-devel ++ packages. ++ * updated README.Debian. ++ ++ -- Junichi Uekawa Thu, 24 Oct 2002 18:56:34 +0900 ++ ++libpng3 (1.2.5-2) unstable; urgency=low ++ ++ * careless mistake :( ++ * reinstall libpng.so symlink in libpng-12-0-dev package. ++ Otherwise other packages won't build ... ++ ++ -- Junichi Uekawa Wed, 23 Oct 2002 16:46:23 +0900 ++ ++libpng3 (1.2.5-1) unstable; urgency=low ++ ++ * New upstream version (closes: #163425) ++ * re-patched makefile.linux to work with system zlib, ++ added workaround to set CFLAGS, and remove rpath settings from LDFLAGS ++ * Use debhelper. ++ * No longer create /usr/doc symlinks. ++ * Standards-Version: 3.5.7 ++ ++ -- Junichi Uekawa Tue, 22 Oct 2002 21:05:33 +0900 ++ ++libpng3 (1.2.1-5) unstable; urgency=low ++ ++ * Not yet released. ++ * Change priority from standard to optional. ++ ++ -- Junichi Uekawa Sun, 15 Sep 2002 15:39:12 +0900 ++ ++libpng3 (1.2.1-4) unstable; urgency=low ++ ++ * change -dev dependency of libc6-dev to libc-dev ++ ++ -- Junichi Uekawa Fri, 13 Sep 2002 18:40:53 +0900 ++ ++libpng3 (1.2.1-3) unstable; urgency=low ++ ++ * Security fix backported from 1.2.4. Check bounds of variables. ++ (closes: #155403) ++ ++ -- Junichi Uekawa Wed, 7 Aug 2002 17:30:32 +0900 ++ ++libpng3 (1.2.1-2) unstable; urgency=low ++ ++ * New maintainer (closes: #151343) ++ * apply buffer overflow patch for interlaced png files (closes: #150595) ++ * update description for libpng3-dev. ++ * change libpng-dev to libpng3-dev ++ ++ -- Junichi Uekawa Thu, 25 Jul 2002 16:28:24 +0900 ++ ++libpng3 (1.2.1-1.1) unstable; urgency=low ++ ++ * NMU ++ * Provides: libpng2-dev has been changed to Provides: libpng3-dev ++ libpng2-dev can be put back in when some kind of sane transition has ++ finished. ++ (closes: #128384, #128871, #129268, #129269) ++ ++ -- Junichi Uekawa Tue, 12 Feb 2002 02:31:53 +0900 ++ ++libpng3 (1.2.1-1) unstable; urgency=low ++ ++ * New upstream version; closes: #125679. ++ * New source package name: libpng3. ++ * Renamed libpng-dev to libpng-dev to avoid having to maintain several ++ development packages (the -dev is source compatible). ++ * Moved png.5 into the -dev package. ++ * Added a Replaces: libpng2 to libpng-dev so that we can steal the png.5 ++ manpage without fuss. ++ * Changed debian/shlibs for libpng3. ++ * Compress examples/pngtest.c. ++ ++ -- Philippe Troin Tue, 18 Dec 2001 20:01:04 -0800 ++ ++libpng (1.0.12-3) unstable; urgency=low ++ ++ * Moved the png.5 manpage to the dev package to allow multiple libpng ++ packages installed at the same time. ++ ++ -- Philippe Troin Tue, 18 Dec 2001 23:58:25 -0800 ++ ++libpng (1.0.12-2) unstable; urgency=low ++ ++ * Changed libpng2-dev's section to devel to resync with override file. ++ * Fixed upstream version detection in debian/rules; closes: #105931. ++ ++ -- Philippe Troin Sun, 29 Jul 2001 11:52:40 -0700 ++ ++libpng (1.0.12-1) unstable; urgency=low ++ ++ * New upstream release; closes: #105354. ++ * Bumped dependency information in debian/shlibs to libpng >= 1.0.12 ++ since there were some non-backwards compatible changes to the API. ++ * Added support for DEB_BUILD_OPTIONS and get-orig-source to debian/rules. ++ * Added call to ldconfig on postrm's remove. ++ * Removed INSTALL file from /usr/share/doc/libpng2. ++ * Bumped standards version to 3.5.5.0. ++ ++ -- Philippe Troin Tue, 17 Jul 2001 23:32:36 -0700 ++ ++libpng (1.0.11-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Philippe Troin Wed, 2 May 2001 20:43:51 -0700 ++ ++libpng (1.0.10-2) unstable; urgency=low ++ ++ * Force recompile because of bad sparc package. ++ * Libpng2's priority changed to standard to comply with the override file. ++ ++ -- Philippe Troin Tue, 24 Apr 2001 11:49:31 -0700 ++ ++libpng (1.0.10-1) unstable; urgency=low ++ ++ * New upstream release. ++ * Changed shlib to depend on libpng2 (>= 2.0.10) because of ++ non-backwards compatible changes. ++ ++ -- Philippe Troin Sun, 22 Apr 2001 22:48:30 -0700 ++ ++libpng (1.0.8-1) unstable; urgency=low ++ ++ * Changed the doc-base type from 'test' to 'text'; closes: #59877. ++ * New upstream relase 1.0.8; closes: #70464. ++ * Updated copyright notice. ++ * Removed Y2kINFO from the doc directory. ++ * Added pngtest.c in examples; closes: #65229. ++ * Updated to standards version 3.2.1.0. ++ * Added build-depends line in control file; closes: #69291. ++ ++ -- Philippe Troin Mon, 11 Sep 2000 23:19:12 -0700 ++ ++libpng (1.0.5-1) frozen unstable; urgency=low ++ ++ * Maintainer upload (closes: #48244, #48246). ++ * Added some extra explanations for the setjmp.h mess (closes: #56759), ++ see pngconf.h for details. ++ ++ -- Philippe Troin Mon, 28 Feb 2000 13:53:22 -0800 ++ ++libpng (1.0.5-0.1) unstable; urgency=low ++ ++ * Non-maintainer release. ++ * New upstream release. (closes:Bug#48244). ++ * Remove versioned depend from shlibs (closes:Bug#48246). ++ ++ -- Joel Klecker Sat, 30 Oct 1999 08:12:53 -0700 ++ ++libpng (1.0.3-1) unstable; urgency=low ++ ++ * New upstream version (1.0.3); Closes: #31870, #46333. ++ * Maintainer upload, closes NMU bugs; Closes: #28412, #31523, #31690. ++ * FHS compliant. ++ * New standard-version 3.0.1. ++ * Lintian clean. ++ * Removed temporary zlib1g line in control file (used to be a bug in ++ zlib1g). ++ * Moved the documentation file to the -dev package. ++ * Register documentation file to doc-base. ++ * Fontified man pages with addformat script; Closes #38680. ++ ++ -- Philippe Troin Mon, 4 Oct 1999 18:59:42 -0700 ++ ++libpng (1.0.2b-0.1) frozen unstable; urgency=low ++ ++ * New upstream (bug-fix only) version. ++ (Should fix bugs #31690滼, since I can't reproduce them) ++ From the author: ++ "I have recently uploaded libpng-1.0.2b to ++ ftp://swrinde.nde.swri.edu/pub/png-group/src ++ I plan to release it as libpng-1.0.3 in a ++ few days, but would like to hear whether it ++ fixes the problems with GNOME. ++ It restores a few lines of code that were ++ inadvertently deleted from pngread.c, which ++ seems to be the cause of problems with adding ++ an alpha channel (which you fixed by downgrading ++ to libpng-1.0.1's pngread.c)." ++ [Glenn Randers-Pehrson ] ++ * Masquerade version number to 1.0.3 to make Imlib & Co. happy. ++ ++ -- Vincent Renardias Mon, 11 Jan 1999 06:27:55 +0100 ++ ++libpng (1.0.2-1.1) frozen unstable; urgency=low ++ ++ * Fix Important bug #28412 ++ (using pngread.c from libpng-1.0.1 did the trick). ++ ++ -- Vincent Renardias Wed, 6 Jan 1999 19:00:15 +0100 ++ ++libpng (1.0.2-1) unstable; urgency=low ++ ++ * Maintainer release (to change a bit). ++ * Pristine sources. ++ * Libpng2-dev includes example.c (fixes bug #10315). ++ * Changed control file to reflect difference with libpng0g (fixes #23795). ++ * Recompiled (should fix the zlib1g missing symbol, bug #24450). ++ * Added -D_REENTRANT also to static library. ++ * Added a dependency upon zlib1g >= 1.1.2 (otherwise we get a missing ++ symbol) (fixes bug #24450). ++ ++ -- Philippe Troin Tue, 22 Sep 1998 00:17:16 -0700 ++ ++libpng (1.0.2-0.1) unstable; urgency=low ++ ++ * Non-maintainer release ++ * New upstream version ++ ++ -- Karl M. Hegbloom Tue, 4 Aug 1998 23:47:00 -0700 ++ ++libpng (1.0.1-0.2) unstable; urgency=medium ++ ++ * debian/rules (binary-arch): don't call install with -s as an ++ argument when installing a shared library; it doesn't know to use ++ --strip-unneeded, and we call strip separately later anyway. ++ * scripts/makefile.lnx (CFLAGS): killed i386-isms. ++ * scripts/makefile.lnx: compiled shared libraries with -D_REENTRANT. ++ (The above fixes are from James Troup, who yet again, alerted me to ++ my screwups ;) ++ * debian/postinst: only call ldconfig if $1 = configure. ++ ++ -- Joel Klecker Wed, 17 Jun 1998 10:25:27 -0700 ++ ++libpng (1.0.1-0.1) unstable; urgency=low ++ ++ * New upstream bug fix release. ++ * Include man pages. ++ ++ -- Joel Klecker Wed, 06 May 1998 08:51:49 -0700 ++ ++libpng (1.0.0-0.1) unstable; urgency=low ++ ++ * Non-maintainer Release. ++ * New Upstream Release. ++ * Changed source package name to `libpng'. ++ * Added `-f makefile.lnx' to make invocations in debian/rules. ++ * Removed `ldconfig' call from postrm. ++ ++ -- Joel Klecker Wed, 04 Mar 1998 17:58:05 -0800 ++ ++libpng0 (0.96-5) unstable; urgency=low ++ ++ * Removed executable permissions on shared libs (fixes bug #15478). ++ * Updated Standards-Version to 2.3.0.1. ++ ++ -- Philippe Troin Sun, 25 Jan 1998 13:19:51 -0800 ++ ++libpng0 (0.96-4) unstable; urgency=low ++ ++ * Shared libraries are stripped with --strip-unneeded and static ++ libraries with --strip-debug (fixes bug #15669). ++ * Made the build strip non-i386 specific (patch by James Troup) (fixes ++ bug #13832). ++ * Removed the dependency between the libc5 and libc6 versions. ++ ++ -- Philippe Troin Sun, 18 Jan 1998 22:37:19 -0800 ++ ++libpng0 (0.96-3) unstable; urgency=low ++ ++ * Libc6 compilation. ++ ++ -- Philippe Troin Tue, 23 Sep 1997 21:38:42 -0700 ++ ++libpng0 (0.96-2) unstable; urgency=low ++ ++ * Fixed permissions in /usr/doc/libpng0 (fixes bug #10540). ++ ++ -- Philippe Troin Sun, 15 Jun 1997 13:18:38 -0700 ++ ++libpng0 (0.96-1) unstable; urgency=low ++ ++ * New upstream sources. ++ ++ -- Philippe Troin Thu, 12 Jun 1997 23:32:29 -0700 ++ ++libpng0 (0.95b-1) unstable; urgency=low ++ ++ * New maintainer. ++ * Upgraded to upstream version 0.95b. ++ * Make debian/rules version independent. ++ * Debian/rules clean now removes substvars. ++ * Bumped the shlibs version to 0.95 as some incompatibilities were ++ introduced between 0.89 and 0.90. ++ * Added the Section: and Priority: fields to the control file (fixes bug ++ #6370). ++ * Now /usr/doc/libpng0 contains various info and the debian change log ++ stuff (fixes bug #7925). ++ * Added -D_REENTRANT compilation flag. ++ ++ -- Philippe Troin Fri, 18 Apr 1997 14:44:09 -0700 ++ ++libpng (0.89c-6) unstable; urgency=low ++ ++ * Moved shlibs file to correct location ++ ++ -- Michael Alan Dorman Sun, 15 Dec 1996 13:03:19 -0500 ++ ++libpng (0.89c-5) unstable; urgency=low ++ ++ * Added shlibs file ++ ++ -- Michael Alan Dorman Sat, 23 Nov 1996 16:23:06 -0500 ++ ++libpng (0.89c-4) unstable; urgency=low ++ ++ * Now stripping shared libraries (Bug#5134) ++ ++ -- Michael Alan Dorman Sat, 23 Nov 1996 12:05:06 -0500 ++ ++libpng (0.89c-3) unstable; urgency=low ++ ++ * Corrected maintainers address ++ ++ -- Michael Alan Dorman Mon, 23 Sep 1996 12:52:03 -0400 ++ ++libpng (0.89c-2) unstable; urgency=low ++ ++ * Accommodate the fact that dpkg-source doesn't properly preserve ++ permissions on scripts when extracting package. (Bug#4513) ++ ++ -- Michael Alan Dorman Mon, 23 Sep 1996 12:34:35 -0400 ++ ++libpng (0.89c-1) unstable; urgency=low ++ ++ * New upstream version. ++ * Moved to new source packaging format. ++ ++ -- Michael Alan Dorman Thu, 12 Sep 1996 15:19:35 -0400 diff --cc debian/changelogs index 0000000,0000000..da278be new file mode 100644 --- /dev/null +++ b/debian/changelogs @@@ -1,0 -1,0 +1,1 @@@ ++CHANGES diff --cc debian/clean index 0000000,0000000..90a21dc new file mode 100644 --- /dev/null +++ b/debian/clean @@@ -1,0 -1,0 +1,1 @@@ ++pngtest-static diff --cc debian/control index 0000000,0000000..5dfe301 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,69 @@@ ++Source: libpng1.6 ++Section: libs ++Priority: optional ++Maintainer: Maintainers of libpng1.6 packages ++Uploaders: Nobuhiro Iwamatsu , ++ Gianfranco Costamagna , ++ Tobias Frost ++Build-Depends: debhelper-compat (= 13), cmake, zlib1g-dev, mawk ++Standards-Version: 4.7.3 ++Vcs-Browser: https://salsa.debian.org/debian/libpng1.6 ++Vcs-Git: https://salsa.debian.org/debian/libpng1.6.git ++Homepage: http://libpng.org/pub/png/libpng.html ++ ++Package: libpng16-16t64 ++Provides: ${t64:Provides} ++Replaces: libpng16-16 ++Breaks: libpng16-16 (<< ${source:Version}) ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Multi-Arch: same ++Description: PNG library - runtime (version 1.6) ++ libpng is a library implementing an interface for reading and writing ++ PNG (Portable Network Graphics) format files. ++ . ++ This package contains the runtime library files needed to run software ++ using libpng. ++ ++Package: libpng-dev ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: ${misc:Depends}, libpng16-16t64 (= ${binary:Version}), zlib1g-dev ++Conflicts: libpng12-0-dev, libpng12-dev, libpng2-dev, libpng3-dev ++Breaks: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1) ++Replaces: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1) ++Recommends: libpng-tools ++Description: PNG library - development (version 1.6) ++ libpng is a library implementing an interface for reading and writing ++ PNG (Portable Network Graphics) format files. ++ . ++ This package contains the header and development files needed to build ++ programs and packages using libpng. ++ ++Package: libpng-tools ++Section: libdevel ++Architecture: any ++Multi-Arch: foreign ++Depends: ${shlibs:Depends}, ${misc:Depends}, libpng16-16t64 (= ${binary:Version}) ++Breaks: libpng16-tools (<< 1.6.21-1) ++Replaces: libpng16-tools (<< 1.6.21-1) ++Description: PNG library - tools (version 1.6) ++ libpng is a library implementing an interface for reading and writing ++ PNG (Portable Network Graphics) format files. ++ . ++ This package contains a program to interact with libpng from the ++ command line. ++ ++Package: libpng16-16-udeb ++Package-Type: udeb ++Build-Profiles: ++Section: debian-installer ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Description: PNG library - minimal runtime library (version 1.6) ++ libpng is a library implementing an interface for reading and writing ++ PNG (Portable Network Graphics) format files. ++ . ++ This package provides the minimal libpng runtime library needed for ++ the debian-installer. diff --cc debian/copyright index 0000000,0000000..0457acb new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,324 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: libpng ++Source: http://www.libpng.org/pub/png/ ++ ++Files: * ++Copyright: 1995-2026 The PNG Reference Library Authors. ++ 1998-2018 Glenn Randers-Pehrson ++ 2018-2026 Cosmin Truta ++License: libpng ++ ++Files: arm/* ++Copyright: 2018-2025 Cosmin Truta ++ 2017-2018 Arm Holdings. All rights reserved. ++ 2014,2016 Glenn Randers-Pehrson ++License: libpng ++ ++Files: ci/* ++Copyright: 2023-2024 Cosmin Truta ++License: expat ++ ++Files: contrib/pngexif/* ++Copyright: 2017-2020 Cosmin Truta ++License: expat ++ ++Files: contrib/pngminus/* ++Copyright: 1999-2019 Willem van Schaik ++ 2018-2024 Cosmin Truta ++License: expat ++ ++Files: contrib/tools/* ++Copyright: 2013-2024 John Cunningham Bowler ++ 2015 Glenn Randers-Pehrson ++License: libpng ++ ++Files: pngwutil.c pngstruct.h pngwrite.c pnginfo.h pngrio.c png.h ++ pngread.c pngwio.c pngrutil.c pngmem.c pngget.c pngtest.c ++ pngrtran.c pngpriv.h pngset.c pngpread.c ++ pngdebug.h pngerror.c pngwtran.c png.c pngtrans.c example.c ++Copyright: 1996, 1997 Andreas Dilger ++ 1995, 1996 Guy Eric Schalnat, Group 42, Inc. ++ 1998-2018 Glenn Randers-Pehrson ++ 2018-2025 Cosmin Truta ++License: libpng ++ ++Files: contrib/gregbook/* ++ contrib/visupng/resource.h ++ contrib/visupng/cexcept.h ++Copyright: 2000-2008 Adam M. Costello and Cosmin Truta ++ 1998-2017 Greg Roelofs ++License: GPL-2+ or BSD-like-with-advertising-clause ++ ++Files: contrib/visupng/PngFile.c contrib/visupng/PngFile.h ++ contrib/visupng/VisualPng.c ++Copyright: 2000,2017 Willem van Schaik ++License: libpng ++ ++Files: contrib/libtests/tarith.c ++Copyright: 2011-2013 John Cunningham Bowler ++ 2021 Cosmin Truta ++License: libpng ++ ++Files: contrib/oss-fuzz/* ++Copyright: 2017-2018 Glenn Randers-Pehrson ++ 2016 Google Inc. ++ 2015 The Chromium Authors. ++License: libpng OR Apache-2.0 OR BSD-3-clause ++ ++Files: contrib/oss-fuzz/Dockerfile ++Copyright: 2016 Google Inc. ++License: Apache-2.0 ++ ++Files: riscv/* ++Copyright: 2023 Google LLC ++License: libpng ++ ++Files: debian/* ++Copyright: 2001 Philippe Troin ++ 2002 Junichi Uekawa ++ 2003 Josselin Mouette ++ 2006-2009 Anibal Monsalve Salazar ++ 2011-2014 Nobuhiro Iwamatsu ++ 2016-2026 Gianfranco Costamagna ++ 2016-2026 Tobias Frost ++License: GPL-2+ ++ ++License: expat ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ "Software"), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ . ++ The above copyright notice and this permission notice shall be ++ included in all copies or substantial portions of the Software. ++ . ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ SOFTWARE. ++ ++License: GPL-2+ ++ This package is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ . ++ This package is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see ++ . ++ On Debian systems, the complete text of the GNU General ++ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". ++ ++License: BSD-like-with-advertising-clause ++ Permission is granted to anyone to use this software for any purpose, ++ including commercial applications, and to alter it and redistribute ++ it freely, subject to the following restrictions: ++ . ++ 1. Redistributions of source code must retain the above copyright ++ notice, disclaimer, and this list of conditions. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, disclaimer, and this list of conditions in the documenta- ++ tion and/or other materials provided with the distribution. ++ 3. All advertising materials mentioning features or use of this ++ software must display the following acknowledgment: ++ . ++ This product includes software developed by Greg Roelofs ++ and contributors for the book, "PNG: The Definitive Guide," ++ published by O'Reilly and Associates. ++ ++License: libpng ++ Here is the copyright and license for libpng: ++ . ++ libpng versions 1.2.6, August 15, 2004, through 1.5.2, March 31, 2011, are ++ Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are ++ distributed according to the same disclaimer and license as libpng-1.2.5 ++ with the following individual added to the list of Contributing Authors ++ . ++ Cosmin Truta ++ . ++ libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are ++ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are ++ distributed according to the same disclaimer and license as libpng-1.0.6 ++ with the following individuals added to the list of Contributing Authors ++ . ++ Simon-Pierre Cadieux ++ Eric S. Raymond ++ Gilles Vollant ++ . ++ and with the following additions to the disclaimer: ++ . ++ There is no warranty against interference with your enjoyment of the ++ library or against infringement. There is no warranty that our ++ efforts or the library will fulfill any of your particular purposes ++ or needs. This library is provided with all faults, and the entire ++ risk of satisfactory quality, performance, accuracy, and effort is with ++ the user. ++ . ++ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are ++ Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are ++ distributed according to the same disclaimer and license as libpng-0.96, ++ with the following individuals added to the list of Contributing Authors: ++ . ++ Tom Lane ++ Glenn Randers-Pehrson ++ Willem van Schaik ++ . ++ (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) ++ (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) ++ . ++ Authors and maintainers: ++ libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat ++ libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger ++ libpng versions 0.97, January 1998, through 1.2.26 - April 2, 2008: Glenn ++ See also "Contributing Authors", below. ++ . ++ . ++ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: ++ . ++ If you modify libpng you may insert additional notices immediately following ++ this sentence. ++ . ++ libpng versions 1.2.6, August 15, 2004, through 1.2.26, April 2, 2008, are ++ Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are ++ distributed according to the same disclaimer and license as libpng-1.2.5 ++ with the following individual added to the list of Contributing Authors: ++ . ++ Cosmin Truta ++ . ++ libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are ++ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are ++ distributed according to the same disclaimer and license as libpng-1.0.6 ++ with the following individuals added to the list of Contributing Authors: ++ . ++ Simon-Pierre Cadieux ++ Eric S. Raymond ++ Gilles Vollant ++ . ++ and with the following additions to the disclaimer: ++ . ++ There is no warranty against interference with your enjoyment of the ++ library or against infringement. There is no warranty that our ++ efforts or the library will fulfill any of your particular purposes ++ or needs. This library is provided with all faults, and the entire ++ risk of satisfactory quality, performance, accuracy, and effort is with ++ the user. ++ . ++ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are ++ Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are ++ distributed according to the same disclaimer and license as libpng-0.96, ++ with the following individuals added to the list of Contributing Authors: ++ . ++ Tom Lane ++ Glenn Randers-Pehrson ++ Willem van Schaik ++ . ++ libpng versions 0.89, June 1996, through 0.96, May 1997, are ++ Copyright (c) 1996, 1997 Andreas Dilger ++ Distributed according to the same disclaimer and license as libpng-0.88, ++ with the following individuals added to the list of Contributing Authors: ++ . ++ John Bowler ++ Kevin Bracey ++ Sam Bushell ++ Magnus Holmgren ++ Greg Roelofs ++ Tom Tanner ++ . ++ libpng versions 0.5, May 1995, through 0.88, January 1996, are ++ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. ++ . ++ For the purposes of this copyright and license, "Contributing Authors" ++ is defined as the following set of individuals: ++ . ++ Andreas Dilger ++ Dave Martindale ++ Guy Eric Schalnat ++ Paul Schmidt ++ Tim Wegner ++ . ++ The PNG Reference Library is supplied "AS IS". The Contributing Authors ++ and Group 42, Inc. disclaim all warranties, expressed or implied, ++ including, without limitation, the warranties of merchantability and of ++ fitness for any purpose. The Contributing Authors and Group 42, Inc. ++ assume no liability for direct, indirect, incidental, special, exemplary, ++ or consequential damages, which may result from the use of the PNG ++ Reference Library, even if advised of the possibility of such damage. ++ . ++ Permission is hereby granted to use, copy, modify, and distribute this ++ source code, or portions hereof, for any purpose, without fee, subject ++ to the following restrictions: ++ . ++ 1. The origin of this source code must not be misrepresented. ++ . ++ 2. Altered versions must be plainly marked as such and ++ must not be misrepresented as being the original source. ++ . ++ 3. This Copyright notice may not be removed or altered from ++ any source or altered source distribution. ++ . ++ The Contributing Authors and Group 42, Inc. specifically permit, without ++ fee, and encourage the use of this source code as a component to ++ supporting the PNG file format in commercial products. If you use this ++ source code in a product, acknowledgment is not required but would be ++ appreciated. ++ . ++ contrib/pngsuite: ++ -------- ++ (c) Willem van Schaik, 1999, 2011 ++ . ++ Permission to use, copy, modify, and distribute these images for any ++ purpose and without fee is hereby granted. ++ ++License: Apache-2.0 ++ Licensed under the Apache License, Version 2.0 (the "License"); ++ you may not use this file except in compliance with the License. ++ You may obtain a copy of the License at ++ . ++ http://www.apache.org/licenses/LICENSE-2.0 ++ . ++ Unless required by applicable law or agreed to in writing, software ++ distributed under the License is distributed on an "AS IS" BASIS, ++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ See the License for the specific language governing permissions and ++ limitations under the License. ++ . ++ On Debian systems, the full text of the Apache License ++ can be found in the file `/usr/share/common-licenses/Apache-2.0'. ++ ++License: BSD-3-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ 3. Neither the name of the University nor the names of its contributors ++ may be used to endorse or promote products derived from this software ++ without specific prior written permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGE. ++ diff --cc debian/docs index 0000000,0000000..5eb1f45 new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,3 @@@ ++libpng-manual.txt ++README ++TODO diff --cc debian/gbp.conf index 0000000,0000000..e9df14f new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,5 @@@ ++[DEFAULT] ++upstream-branch=upstream ++debian-branch=master ++pristine-tar = True ++sign-tags = True diff --cc debian/libpng-dev.examples index 0000000,0000000..5c69567 new file mode 100644 --- /dev/null +++ b/debian/libpng-dev.examples @@@ -1,0 -1,0 +1,3 @@@ ++example.c ++pngtest.c ++pngtest.png diff --cc debian/libpng-dev.install index 0000000,0000000..e0138e5 new file mode 100644 --- /dev/null +++ b/debian/libpng-dev.install @@@ -1,0 -1,0 +1,11 @@@ ++usr/bin/libpng-config ++usr/bin/libpng16-config ++usr/include ++usr/lib/*/cmake ++usr/lib/*/libpng ++usr/lib/*/pkgconfig ++usr/lib/*/libpng.a ++usr/lib/*/libpng16.a ++usr/lib/*/libpng.so ++usr/lib/*/libpng16.so ++usr/share/man diff --cc debian/libpng-dev.links index 0000000,0000000..df10316 new file mode 100644 --- /dev/null +++ b/debian/libpng-dev.links @@@ -1,0 -1,0 +1,2 @@@ ++/usr/include/libpng16 /usr/include/libpng ++/usr/share/man/man1/libpng16-config.1.gz /usr/share/man/man1/libpng-config.1.gz diff --cc debian/libpng-dev.manpages index 0000000,0000000..822ed92 new file mode 100644 --- /dev/null +++ b/debian/libpng-dev.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/libpng16-config.1 diff --cc debian/libpng-tools.install index 0000000,0000000..4b26ab3 new file mode 100644 --- /dev/null +++ b/debian/libpng-tools.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/png-fix-itxt ++usr/bin/pngfix diff --cc debian/libpng16-16-udeb.install index 0000000,0000000..07f93cb new file mode 100644 --- /dev/null +++ b/debian/libpng16-16-udeb.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libpng16.so.* usr/lib diff --cc debian/libpng16-16t64.doc-base index 0000000,0000000..aa9e51f new file mode 100644 --- /dev/null +++ b/debian/libpng16-16t64.doc-base @@@ -1,0 -1,0 +1,25 @@@ ++Document: libpng16 ++Title: A description on how to use and modify libpng (version 1.5.X) ++Author: Glenn Randers-Pehrson ++Abstract: This file describes how to use and modify the PNG reference library ++ (known as libpng) for your own use. There are five sections to this ++ file: introduction, structures, reading, writing, and modification and ++ configuration notes for various special platforms. In addition to this ++ file, example.c is a good starting point for using the library, as ++ it is heavily commented and should include everything most people ++ will need. We assume that libpng is already installed; see the ++ INSTALL file for instructions on how to install libpng. ++ . ++ Libpng was written as a companion to the PNG specification, as a way ++ of reducing the amount of time and effort it takes to support the PNG ++ file format in application programs. The PNG specification is available ++ as RFC 2083 and as a ++ W3C Recommendation . Some ++ additional chunks are described in the special-purpose public chunks ++ documents at . Other information ++ about PNG, and the latest version of libpng, can be found at the PNG home ++ page, . ++Section: Programming ++ ++Format: text ++Files: /usr/share/doc/libpng16-16t64/libpng-manual.txt.gz diff --cc debian/libpng16-16t64.docs index 0000000,0000000..aa382c1 new file mode 100644 --- /dev/null +++ b/debian/libpng16-16t64.docs @@@ -1,0 -1,0 +1,5 @@@ ++README ++TODO ++ANNOUNCE ++#KNOWNBUG ++libpng-manual.txt diff --cc debian/libpng16-16t64.install index 0000000,0000000..8d9226f new file mode 100644 --- /dev/null +++ b/debian/libpng16-16t64.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libpng16.so.* diff --cc debian/libpng16-16t64.lintian-overrides index 0000000,0000000..244d289 new file mode 100644 --- /dev/null +++ b/debian/libpng16-16t64.lintian-overrides @@@ -1,0 -1,0 +1,1 @@@ ++libpng16-16t64: package-name-doesnt-match-sonames libpng16-16 diff --cc debian/libpng16-16t64.symbols index 0000000,0000000..c37b2fe new file mode 100644 --- /dev/null +++ b/debian/libpng16-16t64.symbols @@@ -1,0 -1,0 +1,259 @@@ ++libpng16.so.16 libpng16-16t64 #MINVER# ++* Build-Depends-Package: libpng-dev ++ PNG16_0@PNG16_0 1.6.46 ++ png_access_version_number@PNG16_0 1.6.46 ++ png_set_sig_bytes@PNG16_0 1.6.46 ++ png_sig_cmp@PNG16_0 1.6.46 ++ png_create_read_struct@PNG16_0 1.6.46 ++ png_create_write_struct@PNG16_0 1.6.46 ++ png_get_compression_buffer_size@PNG16_0 1.6.46 ++ png_set_compression_buffer_size@PNG16_0 1.6.46 ++ png_set_longjmp_fn@PNG16_0 1.6.46 ++ png_longjmp@PNG16_0 1.6.46 ++ png_reset_zstream@PNG16_0 1.6.46 ++ png_create_read_struct_2@PNG16_0 1.6.46 ++ png_create_write_struct_2@PNG16_0 1.6.46 ++ png_write_sig@PNG16_0 1.6.46 ++ png_write_chunk@PNG16_0 1.6.46 ++ png_write_chunk_start@PNG16_0 1.6.46 ++ png_write_chunk_data@PNG16_0 1.6.46 ++ png_write_chunk_end@PNG16_0 1.6.46 ++ png_create_info_struct@PNG16_0 1.6.46 ++ png_info_init_3@PNG16_0 1.6.46 ++ png_write_info_before_PLTE@PNG16_0 1.6.46 ++ png_write_info@PNG16_0 1.6.46 ++ png_read_info@PNG16_0 1.6.46 ++ png_convert_to_rfc1123@PNG16_0 1.6.46 ++ png_convert_to_rfc1123_buffer@PNG16_0 1.6.46 ++ png_convert_from_struct_tm@PNG16_0 1.6.46 ++ png_convert_from_time_t@PNG16_0 1.6.46 ++ png_set_expand@PNG16_0 1.6.46 ++ png_set_expand_gray_1_2_4_to_8@PNG16_0 1.6.46 ++ png_set_palette_to_rgb@PNG16_0 1.6.46 ++ png_set_tRNS_to_alpha@PNG16_0 1.6.46 ++ png_set_expand_16@PNG16_0 1.6.46 ++ png_set_bgr@PNG16_0 1.6.46 ++ png_set_gray_to_rgb@PNG16_0 1.6.46 ++ png_set_rgb_to_gray@PNG16_0 1.6.46 ++ png_set_rgb_to_gray_fixed@PNG16_0 1.6.46 ++ png_get_rgb_to_gray_status@PNG16_0 1.6.46 ++ png_build_grayscale_palette@PNG16_0 1.6.46 ++ png_set_alpha_mode@PNG16_0 1.6.46 ++ png_set_alpha_mode_fixed@PNG16_0 1.6.46 ++ png_set_strip_alpha@PNG16_0 1.6.46 ++ png_set_swap_alpha@PNG16_0 1.6.46 ++ png_set_invert_alpha@PNG16_0 1.6.46 ++ png_set_filler@PNG16_0 1.6.46 ++ png_set_add_alpha@PNG16_0 1.6.46 ++ png_set_swap@PNG16_0 1.6.46 ++ png_set_packing@PNG16_0 1.6.46 ++ png_set_packswap@PNG16_0 1.6.46 ++ png_set_shift@PNG16_0 1.6.46 ++ png_set_interlace_handling@PNG16_0 1.6.46 ++ png_set_invert_mono@PNG16_0 1.6.46 ++ png_set_background@PNG16_0 1.6.46 ++ png_set_background_fixed@PNG16_0 1.6.46 ++ png_set_scale_16@PNG16_0 1.6.46 ++ png_set_strip_16@PNG16_0 1.6.46 ++ png_set_quantize@PNG16_0 1.6.46 ++ png_set_gamma@PNG16_0 1.6.46 ++ png_set_gamma_fixed@PNG16_0 1.6.46 ++ png_set_flush@PNG16_0 1.6.46 ++ png_write_flush@PNG16_0 1.6.46 ++ png_start_read_image@PNG16_0 1.6.46 ++ png_read_update_info@PNG16_0 1.6.46 ++ png_read_rows@PNG16_0 1.6.46 ++ png_read_row@PNG16_0 1.6.46 ++ png_read_image@PNG16_0 1.6.46 ++ png_write_row@PNG16_0 1.6.46 ++ png_write_rows@PNG16_0 1.6.46 ++ png_write_image@PNG16_0 1.6.46 ++ png_write_end@PNG16_0 1.6.46 ++ png_read_end@PNG16_0 1.6.46 ++ png_destroy_info_struct@PNG16_0 1.6.46 ++ png_destroy_read_struct@PNG16_0 1.6.46 ++ png_destroy_write_struct@PNG16_0 1.6.46 ++ png_set_crc_action@PNG16_0 1.6.46 ++ png_set_filter@PNG16_0 1.6.46 ++ png_set_filter_heuristics@PNG16_0 1.6.46 ++ png_set_filter_heuristics_fixed@PNG16_0 1.6.46 ++ png_set_compression_level@PNG16_0 1.6.46 ++ png_set_compression_mem_level@PNG16_0 1.6.46 ++ png_set_compression_strategy@PNG16_0 1.6.46 ++ png_set_compression_window_bits@PNG16_0 1.6.46 ++ png_set_compression_method@PNG16_0 1.6.46 ++ png_set_text_compression_level@PNG16_0 1.6.46 ++ png_set_text_compression_mem_level@PNG16_0 1.6.46 ++ png_set_text_compression_strategy@PNG16_0 1.6.46 ++ png_set_text_compression_window_bits@PNG16_0 1.6.46 ++ png_set_text_compression_method@PNG16_0 1.6.46 ++ png_init_io@PNG16_0 1.6.46 ++ png_set_error_fn@PNG16_0 1.6.46 ++ png_get_error_ptr@PNG16_0 1.6.46 ++ png_set_write_fn@PNG16_0 1.6.46 ++ png_set_read_fn@PNG16_0 1.6.46 ++ png_get_io_ptr@PNG16_0 1.6.46 ++ png_set_read_status_fn@PNG16_0 1.6.46 ++ png_set_write_status_fn@PNG16_0 1.6.46 ++ png_set_mem_fn@PNG16_0 1.6.46 ++ png_get_mem_ptr@PNG16_0 1.6.46 ++ png_set_read_user_transform_fn@PNG16_0 1.6.46 ++ png_set_write_user_transform_fn@PNG16_0 1.6.46 ++ png_set_user_transform_info@PNG16_0 1.6.46 ++ png_get_user_transform_ptr@PNG16_0 1.6.46 ++ png_get_current_row_number@PNG16_0 1.6.46 ++ png_get_current_pass_number@PNG16_0 1.6.46 ++ png_set_read_user_chunk_fn@PNG16_0 1.6.46 ++ png_get_user_chunk_ptr@PNG16_0 1.6.46 ++ png_set_progressive_read_fn@PNG16_0 1.6.46 ++ png_get_progressive_ptr@PNG16_0 1.6.46 ++ png_process_data@PNG16_0 1.6.46 ++ png_process_data_pause@PNG16_0 1.6.46 ++ png_process_data_skip@PNG16_0 1.6.46 ++ png_progressive_combine_row@PNG16_0 1.6.46 ++ png_malloc@PNG16_0 1.6.46 ++ png_calloc@PNG16_0 1.6.46 ++ png_malloc_warn@PNG16_0 1.6.46 ++ png_free@PNG16_0 1.6.46 ++ png_free_data@PNG16_0 1.6.46 ++ png_data_freer@PNG16_0 1.6.46 ++ png_malloc_default@PNG16_0 1.6.46 ++ png_free_default@PNG16_0 1.6.46 ++ png_error@PNG16_0 1.6.46 ++ png_chunk_error@PNG16_0 1.6.46 ++ png_warning@PNG16_0 1.6.46 ++ png_chunk_warning@PNG16_0 1.6.46 ++ png_benign_error@PNG16_0 1.6.46 ++ png_chunk_benign_error@PNG16_0 1.6.46 ++ png_set_benign_errors@PNG16_0 1.6.46 ++ png_get_valid@PNG16_0 1.6.46 ++ png_get_rowbytes@PNG16_0 1.6.46 ++ png_get_rows@PNG16_0 1.6.46 ++ png_set_rows@PNG16_0 1.6.46 ++ png_get_channels@PNG16_0 1.6.46 ++ png_get_image_width@PNG16_0 1.6.46 ++ png_get_image_height@PNG16_0 1.6.46 ++ png_get_bit_depth@PNG16_0 1.6.46 ++ png_get_color_type@PNG16_0 1.6.46 ++ png_get_filter_type@PNG16_0 1.6.46 ++ png_get_interlace_type@PNG16_0 1.6.46 ++ png_get_compression_type@PNG16_0 1.6.46 ++ png_get_pixels_per_meter@PNG16_0 1.6.46 ++ png_get_x_pixels_per_meter@PNG16_0 1.6.46 ++ png_get_y_pixels_per_meter@PNG16_0 1.6.46 ++ png_get_pixel_aspect_ratio@PNG16_0 1.6.46 ++ png_get_pixel_aspect_ratio_fixed@PNG16_0 1.6.46 ++ png_get_x_offset_pixels@PNG16_0 1.6.46 ++ png_get_y_offset_pixels@PNG16_0 1.6.46 ++ png_get_x_offset_microns@PNG16_0 1.6.46 ++ png_get_y_offset_microns@PNG16_0 1.6.46 ++ png_get_signature@PNG16_0 1.6.46 ++ png_get_bKGD@PNG16_0 1.6.46 ++ png_set_bKGD@PNG16_0 1.6.46 ++ png_get_cHRM@PNG16_0 1.6.46 ++ png_get_cHRM_XYZ@PNG16_0 1.6.46 ++ png_get_cHRM_fixed@PNG16_0 1.6.46 ++ png_get_cHRM_XYZ_fixed@PNG16_0 1.6.46 ++ png_set_cHRM@PNG16_0 1.6.46 ++ png_set_cHRM_XYZ@PNG16_0 1.6.46 ++ png_set_cHRM_fixed@PNG16_0 1.6.46 ++ png_set_cHRM_XYZ_fixed@PNG16_0 1.6.46 ++ png_get_cICP@PNG16_0 1.6.46 ++ png_set_cICP@PNG16_0 1.6.46 ++ png_get_cLLI@PNG16_0 1.6.46 ++ png_get_cLLI_fixed@PNG16_0 1.6.46 ++ png_set_cLLI@PNG16_0 1.6.46 ++ png_set_cLLI_fixed@PNG16_0 1.6.46 ++ png_get_eXIf@PNG16_0 1.6.46 ++ png_set_eXIf@PNG16_0 1.6.46 ++ png_get_eXIf_1@PNG16_0 1.6.46 ++ png_set_eXIf_1@PNG16_0 1.6.46 ++ png_get_gAMA@PNG16_0 1.6.46 ++ png_get_gAMA_fixed@PNG16_0 1.6.46 ++ png_set_gAMA@PNG16_0 1.6.46 ++ png_set_gAMA_fixed@PNG16_0 1.6.46 ++ png_get_hIST@PNG16_0 1.6.46 ++ png_set_hIST@PNG16_0 1.6.46 ++ png_get_IHDR@PNG16_0 1.6.46 ++ png_set_IHDR@PNG16_0 1.6.46 ++ png_get_mDCV@PNG16_0 1.6.46 ++ png_get_mDCV_fixed@PNG16_0 1.6.46 ++ png_set_mDCV@PNG16_0 1.6.46 ++ png_set_mDCV_fixed@PNG16_0 1.6.46 ++ png_get_oFFs@PNG16_0 1.6.46 ++ png_set_oFFs@PNG16_0 1.6.46 ++ png_get_pCAL@PNG16_0 1.6.46 ++ png_set_pCAL@PNG16_0 1.6.46 ++ png_get_pHYs@PNG16_0 1.6.46 ++ png_set_pHYs@PNG16_0 1.6.46 ++ png_get_PLTE@PNG16_0 1.6.46 ++ png_set_PLTE@PNG16_0 1.6.46 ++ png_get_sBIT@PNG16_0 1.6.46 ++ png_set_sBIT@PNG16_0 1.6.46 ++ png_get_sRGB@PNG16_0 1.6.46 ++ png_set_sRGB@PNG16_0 1.6.46 ++ png_set_sRGB_gAMA_and_cHRM@PNG16_0 1.6.46 ++ png_get_iCCP@PNG16_0 1.6.46 ++ png_set_iCCP@PNG16_0 1.6.46 ++ png_get_sPLT@PNG16_0 1.6.46 ++ png_set_sPLT@PNG16_0 1.6.46 ++ png_get_text@PNG16_0 1.6.46 ++ png_set_text@PNG16_0 1.6.46 ++ png_get_tIME@PNG16_0 1.6.46 ++ png_set_tIME@PNG16_0 1.6.46 ++ png_get_tRNS@PNG16_0 1.6.46 ++ png_set_tRNS@PNG16_0 1.6.46 ++ png_get_sCAL@PNG16_0 1.6.46 ++ png_get_sCAL_fixed@PNG16_0 1.6.46 ++ png_get_sCAL_s@PNG16_0 1.6.46 ++ png_set_sCAL@PNG16_0 1.6.46 ++ png_set_sCAL_fixed@PNG16_0 1.6.46 ++ png_set_sCAL_s@PNG16_0 1.6.46 ++ png_set_keep_unknown_chunks@PNG16_0 1.6.46 ++ png_handle_as_unknown@PNG16_0 1.6.46 ++ png_set_unknown_chunks@PNG16_0 1.6.46 ++ png_set_unknown_chunk_location@PNG16_0 1.6.46 ++ png_get_unknown_chunks@PNG16_0 1.6.46 ++ png_set_invalid@PNG16_0 1.6.46 ++ png_read_png@PNG16_0 1.6.46 ++ png_write_png@PNG16_0 1.6.46 ++ png_get_copyright@PNG16_0 1.6.46 ++ png_get_header_ver@PNG16_0 1.6.46 ++ png_get_header_version@PNG16_0 1.6.46 ++ png_get_libpng_ver@PNG16_0 1.6.46 ++ png_permit_mng_features@PNG16_0 1.6.46 ++ png_set_user_limits@PNG16_0 1.6.46 ++ png_get_user_width_max@PNG16_0 1.6.46 ++ png_get_user_height_max@PNG16_0 1.6.46 ++ png_set_chunk_cache_max@PNG16_0 1.6.46 ++ png_get_chunk_cache_max@PNG16_0 1.6.46 ++ png_set_chunk_malloc_max@PNG16_0 1.6.46 ++ png_get_chunk_malloc_max@PNG16_0 1.6.46 ++ png_get_pixels_per_inch@PNG16_0 1.6.46 ++ png_get_x_pixels_per_inch@PNG16_0 1.6.46 ++ png_get_y_pixels_per_inch@PNG16_0 1.6.46 ++ png_get_x_offset_inches@PNG16_0 1.6.46 ++ png_get_x_offset_inches_fixed@PNG16_0 1.6.46 ++ png_get_y_offset_inches@PNG16_0 1.6.46 ++ png_get_y_offset_inches_fixed@PNG16_0 1.6.46 ++ png_get_pHYs_dpi@PNG16_0 1.6.46 ++ png_get_io_state@PNG16_0 1.6.46 ++ png_get_io_chunk_type@PNG16_0 1.6.46 ++ png_get_uint_32@PNG16_0 1.6.46 ++ png_get_uint_16@PNG16_0 1.6.46 ++ png_get_int_32@PNG16_0 1.6.46 ++ png_get_uint_31@PNG16_0 1.6.46 ++ png_save_uint_32@PNG16_0 1.6.46 ++ png_save_int_32@PNG16_0 1.6.46 ++ png_save_uint_16@PNG16_0 1.6.46 ++ png_set_check_for_invalid_index@PNG16_0 1.6.46 ++ png_get_palette_max@PNG16_0 1.6.46 ++ png_image_begin_read_from_file@PNG16_0 1.6.46 ++ png_image_begin_read_from_stdio@PNG16_0 1.6.46 ++ png_image_begin_read_from_memory@PNG16_0 1.6.46 ++ png_image_finish_read@PNG16_0 1.6.46 ++ png_image_free@PNG16_0 1.6.46 ++ png_image_write_to_file@PNG16_0 1.6.46 ++ png_image_write_to_stdio@PNG16_0 1.6.46 ++ png_image_write_to_memory@PNG16_0 1.6.46 ++ png_set_option@PNG16_0 1.6.46 diff --cc debian/libpng16-config.1 index 0000000,0000000..c988a60 new file mode 100644 --- /dev/null +++ b/debian/libpng16-config.1 @@@ -1,0 -1,0 +1,58 @@@ ++.TH libpng16-config 1 "15 Apr 2011" "libpng" "Debian GNU/Linux" ++.SH NAME ++libpng16-config \- get information about installed libpng library ++.SH SYNOPSIS ++.B libpng16-config ++[\fIOPTION\fR] ... ++.SH DESCRIPTION ++Provides information about libpng library. ++ ++Known values for OPTION are: ++.TP ++\fB\-\-prefix\fR ++print libpng prefix ++.TP ++\fB\-\-libdir\fR ++print path to directory containing library ++.TP ++\fB\-\-libs\fR ++print library linking information ++.TP ++\fB\-\-ccopts\fR ++print compiler options ++.TP ++\fB\-\-cppflags\fR ++print pre-processor flags ++.TP ++\fB\-\-cflags\fR ++print preprocessor flags, I_opts, and compiler options ++.TP ++\fB\-\-I_opts\fR ++print "-I" include options ++.TP ++\fB\-\-L_opts\fR ++print linker "-L" flags for dynamic linking ++.TP ++\fB\-\-R_opts\fR ++print dynamic linker "-R" or "-rpath" flags ++.TP ++\fB\-\-ldopts\fR ++print linker options ++.TP ++\fB\-\-ldflags\fR ++print linker flags (ldopts, L_opts, R_opts, and libs) ++.TP ++\fB\-\-static\fR ++revise subsequent outputs for static linking ++.TP ++\fB\-\-help\fR ++print this help and exit ++.TP ++\fB\-\-version\fR ++print version information ++.SH "AUTHOR" ++This manpage has been written by Junichi Uekawa ++for Debian GNU/Linux system, with the help of help2man, and ++may be used by others. ++ ++ diff --cc debian/libpng16-dev.manpages index 0000000,0000000..b6ed626 new file mode 100644 --- /dev/null +++ b/debian/libpng16-dev.manpages @@@ -1,0 -1,0 +1,2 @@@ ++libpng.3 ++png.5 diff --cc debian/libpng16-tools.install index 0000000,0000000..4b26ab3 new file mode 100644 --- /dev/null +++ b/debian/libpng16-tools.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/png-fix-itxt ++usr/bin/pngfix diff --cc debian/not-installed index 0000000,0000000..9ab426b new file mode 100644 --- /dev/null +++ b/debian/not-installed @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libpng*.la diff --cc debian/patches/libpng-1.6.39-apng.patch index 0000000,0000000..0b9c56d new file mode 100644 --- /dev/null +++ b/debian/patches/libpng-1.6.39-apng.patch @@@ -1,0 -1,0 +1,1728 @@@ ++diff -Naru libpng-1.6.39.org/png.h libpng-1.6.39/png.h ++--- libpng-1.6.39.org/png.h 2022-11-24 08:37:51.507052183 +0900 +++++ libpng-1.6.39/png.h 2022-11-24 08:41:17.785489740 +0900 ++@@ -330,6 +330,10 @@ ++ # include "pnglibconf.h" ++ #endif ++ +++#define PNG_APNG_SUPPORTED +++#define PNG_READ_APNG_SUPPORTED +++#define PNG_WRITE_APNG_SUPPORTED +++ ++ #ifndef PNG_VERSION_INFO_ONLY ++ /* Machine specific configuration. */ ++ # include "pngconf.h" ++@@ -425,6 +429,17 @@ ++ * See pngconf.h for base types that vary by machine/system ++ */ ++ +++#ifdef PNG_APNG_SUPPORTED +++/* dispose_op flags from inside fcTL */ +++#define PNG_DISPOSE_OP_NONE 0x00U +++#define PNG_DISPOSE_OP_BACKGROUND 0x01U +++#define PNG_DISPOSE_OP_PREVIOUS 0x02U +++ +++/* blend_op flags from inside fcTL */ +++#define PNG_BLEND_OP_SOURCE 0x00U +++#define PNG_BLEND_OP_OVER 0x01U +++#endif /* PNG_APNG_SUPPORTED */ +++ ++ /* This triggers a compiler error in png.c, if png.c and png.h ++ * do not agree upon the version number. ++ */ ++@@ -746,6 +761,10 @@ ++ #define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */ ++ #define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */ ++ #define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */ +++#ifdef PNG_APNG_SUPPORTED +++#define PNG_INFO_acTL 0x20000U +++#define PNG_INFO_fcTL 0x40000U +++#endif ++ ++ /* This is used for the transformation routines, as some of them ++ * change these values for the row. It also should enable using ++@@ -783,6 +802,10 @@ ++ #ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++ typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop)); ++ typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop)); +++#ifdef PNG_APNG_SUPPORTED +++typedef PNG_CALLBACK(void, *png_progressive_frame_ptr, (png_structp, +++ png_uint_32)); +++#endif ++ ++ /* The following callback receives png_uint_32 row_number, int pass for the ++ * png_bytep data of the row. When transforming an interlaced image the ++@@ -3226,6 +3249,74 @@ ++ /******************************************************************************* ++ * END OF HARDWARE AND SOFTWARE OPTIONS ++ ******************************************************************************/ +++#ifdef PNG_APNG_SUPPORTED +++PNG_EXPORT(250, png_uint_32, png_get_acTL, (png_structp png_ptr, +++ png_infop info_ptr, png_uint_32 *num_frames, png_uint_32 *num_plays)); +++ +++PNG_EXPORT(251, png_uint_32, png_set_acTL, (png_structp png_ptr, +++ png_infop info_ptr, png_uint_32 num_frames, png_uint_32 num_plays)); +++ +++PNG_EXPORT(252, png_uint_32, png_get_num_frames, (png_structp png_ptr, +++ png_infop info_ptr)); +++ +++PNG_EXPORT(253, png_uint_32, png_get_num_plays, (png_structp png_ptr, +++ png_infop info_ptr)); +++ +++PNG_EXPORT(254, png_uint_32, png_get_next_frame_fcTL, +++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, +++ png_uint_32 *height, png_uint_32 *x_offset, png_uint_32 *y_offset, +++ png_uint_16 *delay_num, png_uint_16 *delay_den, png_byte *dispose_op, +++ png_byte *blend_op)); +++ +++PNG_EXPORT(255, png_uint_32, png_set_next_frame_fcTL, +++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 width, +++ png_uint_32 height, png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op, +++ png_byte blend_op)); +++ +++PNG_EXPORT(256, png_uint_32, png_get_next_frame_width, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(257, png_uint_32, png_get_next_frame_height, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(258, png_uint_32, png_get_next_frame_x_offset, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(259, png_uint_32, png_get_next_frame_y_offset, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(260, png_uint_16, png_get_next_frame_delay_num, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(261, png_uint_16, png_get_next_frame_delay_den, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(262, png_byte, png_get_next_frame_dispose_op, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(263, png_byte, png_get_next_frame_blend_op, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(264, png_byte, png_get_first_frame_is_hidden, +++ (png_structp png_ptr, png_infop info_ptr)); +++PNG_EXPORT(265, png_uint_32, png_set_first_frame_is_hidden, +++ (png_structp png_ptr, png_infop info_ptr, png_byte is_hidden)); +++ +++#ifdef PNG_READ_APNG_SUPPORTED +++PNG_EXPORT(266, void, png_read_frame_head, (png_structp png_ptr, +++ png_infop info_ptr)); +++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +++PNG_EXPORT(267, void, png_set_progressive_frame_fn, (png_structp png_ptr, +++ png_progressive_frame_ptr frame_info_fn, +++ png_progressive_frame_ptr frame_end_fn)); +++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ +++#endif /* PNG_READ_APNG_SUPPORTED */ +++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++PNG_EXPORT(268, void, png_write_frame_head, (png_structp png_ptr, +++ png_infop info_ptr, png_bytepp row_pointers, +++ png_uint_32 width, png_uint_32 height, +++ png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op, +++ png_byte blend_op)); +++ +++PNG_EXPORT(269, void, png_write_frame_tail, (png_structp png_ptr, +++ png_infop info_ptr)); +++#endif /* PNG_WRITE_APNG_SUPPORTED */ +++#endif /* PNG_APNG_SUPPORTED */ ++ ++ /* Maintainer: Put new public prototypes here ^, in libpng.3, in project ++ * defs, and in scripts/symbols.def. ++@@ -3235,7 +3326,11 @@ ++ * one to use is one more than this.) ++ */ ++ #ifdef PNG_EXPORT_LAST_ORDINAL +++#ifdef PNG_APNG_SUPPORTED +++ PNG_EXPORT_LAST_ORDINAL(269); +++#else ++ PNG_EXPORT_LAST_ORDINAL(249); +++#endif /* PNG_APNG_SUPPORTED */ ++ #endif ++ ++ #ifdef __cplusplus ++diff -Naru libpng-1.6.39.org/pngget.c libpng-1.6.39/pngget.c ++--- libpng-1.6.39.org/pngget.c 2022-11-24 08:37:51.507052183 +0900 +++++ libpng-1.6.39/pngget.c 2022-11-24 08:41:17.785489740 +0900 ++@@ -1246,4 +1246,166 @@ ++ # endif ++ #endif ++ +++#ifdef PNG_APNG_SUPPORTED +++png_uint_32 PNGAPI +++png_get_acTL(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 *num_frames, png_uint_32 *num_plays) +++{ +++ png_debug1(1, "in %s retrieval function", "acTL"); +++ +++ if (png_ptr != NULL && info_ptr != NULL && +++ (info_ptr->valid & PNG_INFO_acTL) && +++ num_frames != NULL && num_plays != NULL) +++ { +++ *num_frames = info_ptr->num_frames; +++ *num_plays = info_ptr->num_plays; +++ return (1); +++ } +++ +++ return (0); +++} +++ +++png_uint_32 PNGAPI +++png_get_num_frames(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_num_frames()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->num_frames); +++ return (0); +++} +++ +++png_uint_32 PNGAPI +++png_get_num_plays(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_num_plays()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->num_plays); +++ return (0); +++} +++ +++png_uint_32 PNGAPI +++png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 *width, png_uint_32 *height, +++ png_uint_32 *x_offset, png_uint_32 *y_offset, +++ png_uint_16 *delay_num, png_uint_16 *delay_den, +++ png_byte *dispose_op, png_byte *blend_op) +++{ +++ png_debug1(1, "in %s retrieval function", "fcTL"); +++ +++ if (png_ptr != NULL && info_ptr != NULL && +++ (info_ptr->valid & PNG_INFO_fcTL) && +++ width != NULL && height != NULL && +++ x_offset != NULL && y_offset != NULL && +++ delay_num != NULL && delay_den != NULL && +++ dispose_op != NULL && blend_op != NULL) +++ { +++ *width = info_ptr->next_frame_width; +++ *height = info_ptr->next_frame_height; +++ *x_offset = info_ptr->next_frame_x_offset; +++ *y_offset = info_ptr->next_frame_y_offset; +++ *delay_num = info_ptr->next_frame_delay_num; +++ *delay_den = info_ptr->next_frame_delay_den; +++ *dispose_op = info_ptr->next_frame_dispose_op; +++ *blend_op = info_ptr->next_frame_blend_op; +++ return (1); +++ } +++ +++ return (0); +++} +++ +++png_uint_32 PNGAPI +++png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_width()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_width); +++ return (0); +++} +++ +++png_uint_32 PNGAPI +++png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_height()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_height); +++ return (0); +++} +++ +++png_uint_32 PNGAPI +++png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_x_offset()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_x_offset); +++ return (0); +++} +++ +++png_uint_32 PNGAPI +++png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_y_offset()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_y_offset); +++ return (0); +++} +++ +++png_uint_16 PNGAPI +++png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_delay_num()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_delay_num); +++ return (0); +++} +++ +++png_uint_16 PNGAPI +++png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_delay_den()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_delay_den); +++ return (0); +++} +++ +++png_byte PNGAPI +++png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_dispose_op()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_dispose_op); +++ return (0); +++} +++ +++png_byte PNGAPI +++png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_get_next_frame_blend_op()"); +++ +++ if (png_ptr != NULL && info_ptr != NULL) +++ return (info_ptr->next_frame_blend_op); +++ return (0); +++} +++ +++png_byte PNGAPI +++png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_first_frame_is_hidden()"); +++ +++ if (png_ptr != NULL) +++ return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN); +++ +++ PNG_UNUSED(info_ptr) +++ +++ return 0; +++} +++#endif /* PNG_APNG_SUPPORTED */ ++ #endif /* READ || WRITE */ ++diff -Naru libpng-1.6.39.org/pnginfo.h libpng-1.6.39/pnginfo.h ++--- libpng-1.6.39.org/pnginfo.h 2022-11-24 08:37:51.507052183 +0900 +++++ libpng-1.6.39/pnginfo.h 2022-11-24 08:41:17.785489740 +0900 ++@@ -263,5 +263,18 @@ ++ png_bytepp row_pointers; /* the image bits */ ++ #endif ++ +++#ifdef PNG_APNG_SUPPORTED +++ png_uint_32 num_frames; /* including default image */ +++ png_uint_32 num_plays; +++ png_uint_32 next_frame_width; +++ png_uint_32 next_frame_height; +++ png_uint_32 next_frame_x_offset; +++ png_uint_32 next_frame_y_offset; +++ png_uint_16 next_frame_delay_num; +++ png_uint_16 next_frame_delay_den; +++ png_byte next_frame_dispose_op; +++ png_byte next_frame_blend_op; +++#endif +++ ++ }; ++ #endif /* PNGINFO_H */ ++diff -Naru libpng-1.6.39.org/pngpread.c libpng-1.6.39/pngpread.c ++--- libpng-1.6.39.org/pngpread.c 2022-11-24 08:37:51.507052183 +0900 +++++ libpng-1.6.39/pngpread.c 2022-11-24 08:41:17.785489740 +0900 ++@@ -195,6 +195,106 @@ ++ ++ chunk_name = png_ptr->chunk_name; ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ if (png_ptr->num_frames_read > 0 && +++ png_ptr->num_frames_read < info_ptr->num_frames) +++ { +++ if (chunk_name == png_IDAT) +++ { +++ /* Discard trailing IDATs for the first frame */ +++ if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1) +++ png_error(png_ptr, "out of place IDAT"); +++ +++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ +++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; +++ return; +++ } +++ else if (chunk_name == png_fdAT) +++ { +++ if (png_ptr->buffer_size < 4) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ +++ png_ensure_sequence_number(png_ptr, 4); +++ +++ if (!(png_ptr->mode & PNG_HAVE_fcTL)) +++ { +++ /* Discard trailing fdATs for frames other than the first */ +++ if (png_ptr->num_frames_read < 2) +++ png_error(png_ptr, "out of place fdAT"); +++ +++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ +++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; +++ return; +++ } +++ +++ else +++ { +++ /* frame data follows */ +++ png_ptr->idat_size = png_ptr->push_length - 4; +++ png_ptr->mode |= PNG_HAVE_IDAT; +++ png_ptr->process_mode = PNG_READ_IDAT_MODE; +++ +++ return; +++ } +++ } +++ +++ else if (chunk_name == png_fcTL) +++ { +++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ +++ png_read_reset(png_ptr); +++ png_ptr->mode &= ~PNG_HAVE_fcTL; +++ +++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length); +++ +++ if (!(png_ptr->mode & PNG_HAVE_fcTL)) +++ png_error(png_ptr, "missing required fcTL chunk"); +++ +++ png_read_reinit(png_ptr, info_ptr); +++ png_progressive_read_reset(png_ptr); +++ +++ if (png_ptr->frame_info_fn != NULL) +++ (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read); +++ +++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; +++ +++ return; +++ } +++ +++ else +++ { +++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ png_warning(png_ptr, "Skipped (ignored) a chunk " +++ "between APNG chunks"); +++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; +++ return; +++ } +++ +++ return; +++ } +++#endif /* PNG_READ_APNG_SUPPORTED */ +++ ++ if (chunk_name == png_IDAT) ++ { ++ if ((png_ptr->mode & PNG_AFTER_IDAT) != 0) ++@@ -261,6 +361,9 @@ ++ ++ else if (chunk_name == png_IDAT) ++ { +++#ifdef PNG_READ_APNG_SUPPORTED +++ png_have_info(png_ptr, info_ptr); +++#endif ++ png_ptr->idat_size = png_ptr->push_length; ++ png_ptr->process_mode = PNG_READ_IDAT_MODE; ++ png_push_have_info(png_ptr, info_ptr); ++@@ -406,6 +509,30 @@ ++ png_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length); ++ } ++ #endif +++#ifdef PNG_READ_APNG_SUPPORTED +++ else if (chunk_name == png_acTL) +++ { +++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ +++ png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length); +++ } +++ +++ else if (chunk_name == png_fcTL) +++ { +++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ +++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length); +++ } +++ +++#endif /* PNG_READ_APNG_SUPPORTED */ ++ ++ else ++ { ++@@ -539,7 +666,11 @@ ++ png_byte chunk_tag[4]; ++ ++ /* TODO: this code can be commoned up with the same code in push_read */ +++#ifdef PNG_READ_APNG_SUPPORTED +++ PNG_PUSH_SAVE_BUFFER_IF_LT(12) +++#else ++ PNG_PUSH_SAVE_BUFFER_IF_LT(8) +++#endif ++ png_push_fill_buffer(png_ptr, chunk_length, 4); ++ png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length); ++ png_reset_crc(png_ptr); ++@@ -547,17 +678,64 @@ ++ png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag); ++ png_ptr->mode |= PNG_HAVE_CHUNK_HEADER; ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ if (png_ptr->chunk_name != png_fdAT && png_ptr->num_frames_read > 0) +++ { +++ if (png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) +++ { +++ png_ptr->process_mode = PNG_READ_CHUNK_MODE; +++ if (png_ptr->frame_end_fn != NULL) +++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read); +++ png_ptr->num_frames_read++; +++ return; +++ } +++ else +++ { +++ if (png_ptr->chunk_name == png_IEND) +++ png_error(png_ptr, "Not enough image data"); +++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) +++ { +++ png_push_save_buffer(png_ptr); +++ return; +++ } +++ png_warning(png_ptr, "Skipping (ignoring) a chunk between " +++ "APNG chunks"); +++ png_crc_finish(png_ptr, png_ptr->push_length); +++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; +++ return; +++ } +++ } +++ else +++#endif +++#ifdef PNG_READ_APNG_SUPPORTED +++ if (png_ptr->chunk_name != png_IDAT && png_ptr->num_frames_read == 0) +++#else ++ if (png_ptr->chunk_name != png_IDAT) +++#endif ++ { ++ png_ptr->process_mode = PNG_READ_CHUNK_MODE; ++ ++ if ((png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) == 0) ++ png_error(png_ptr, "Not enough compressed data"); ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ if (png_ptr->frame_end_fn != NULL) +++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read); +++ png_ptr->num_frames_read++; +++#endif +++ ++ return; ++ } ++ ++ png_ptr->idat_size = png_ptr->push_length; +++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ if (png_ptr->num_frames_read > 0) +++ { +++ png_ensure_sequence_number(png_ptr, 4); +++ png_ptr->idat_size -= 4; +++ } +++#endif ++ } ++ ++ if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0) ++@@ -631,6 +809,15 @@ ++ if (!(buffer_length > 0) || buffer == NULL) ++ png_error(png_ptr, "No IDAT data (internal error)"); ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ /* If the app is not APNG-aware, decode only the first frame */ +++ if (!(png_ptr->apng_flags & PNG_APNG_APP) && png_ptr->num_frames_read > 0) +++ { +++ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; +++ return; +++ } +++#endif +++ ++ /* This routine must process all the data it has been given ++ * before returning, calling the row callback as required to ++ * handle the uncompressed results. ++@@ -1085,6 +1272,18 @@ ++ png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer); ++ } ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++void PNGAPI +++png_set_progressive_frame_fn(png_structp png_ptr, +++ png_progressive_frame_ptr frame_info_fn, +++ png_progressive_frame_ptr frame_end_fn) +++{ +++ png_ptr->frame_info_fn = frame_info_fn; +++ png_ptr->frame_end_fn = frame_end_fn; +++ png_ptr->apng_flags |= PNG_APNG_APP; +++} +++#endif +++ ++ png_voidp PNGAPI ++ png_get_progressive_ptr(png_const_structrp png_ptr) ++ { ++diff -Naru libpng-1.6.39.org/pngpriv.h libpng-1.6.39/pngpriv.h ++--- libpng-1.6.39.org/pngpriv.h 2022-11-24 08:37:51.508052181 +0900 +++++ libpng-1.6.39/pngpriv.h 2022-11-24 08:41:17.785489740 +0900 ++@@ -628,6 +628,10 @@ ++ #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */ ++ /* 0x4000U (unused) */ ++ #define PNG_IS_READ_STRUCT 0x8000U /* Else is a write struct */ +++#ifdef PNG_APNG_SUPPORTED +++#define PNG_HAVE_acTL 0x10000U +++#define PNG_HAVE_fcTL 0x20000U +++#endif ++ ++ /* Flags for the transformations the PNG library does on the image data */ ++ #define PNG_BGR 0x0001U ++@@ -864,6 +868,16 @@ ++ #define png_tRNS PNG_U32(116, 82, 78, 83) ++ #define png_zTXt PNG_U32(122, 84, 88, 116) ++ +++#ifdef PNG_APNG_SUPPORTED +++#define png_acTL PNG_U32( 97, 99, 84, 76) +++#define png_fcTL PNG_U32(102, 99, 84, 76) +++#define png_fdAT PNG_U32(102, 100, 65, 84) +++ +++/* For png_struct.apng_flags: */ +++#define PNG_FIRST_FRAME_HIDDEN 0x0001U +++#define PNG_APNG_APP 0x0002U +++#endif +++ ++ /* The following will work on (signed char*) strings, whereas the get_uint_32 ++ * macro will fail on top-bit-set values because of the sign extension. ++ */ ++@@ -1635,6 +1649,47 @@ ++ */ ++ #endif ++ +++#ifdef PNG_APNG_SUPPORTED +++PNG_INTERNAL_FUNCTION(void,png_ensure_fcTL_is_valid,(png_structp png_ptr, +++ png_uint_32 width, png_uint_32 height, +++ png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, +++ png_byte dispose_op, png_byte blend_op), PNG_EMPTY); +++ +++#ifdef PNG_READ_APNG_SUPPORTED +++PNG_INTERNAL_FUNCTION(void,png_handle_acTL,(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 length),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_handle_fcTL,(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 length),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_handle_fdAT,(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 length),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_have_info,(png_structp png_ptr, png_infop info_ptr),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_ensure_sequence_number,(png_structp png_ptr, +++ png_uint_32 length),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_read_reset,(png_structp png_ptr),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_read_reinit,(png_structp png_ptr, +++ png_infop info_ptr),PNG_EMPTY); +++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +++PNG_INTERNAL_FUNCTION(void,png_progressive_read_reset,(png_structp png_ptr),PNG_EMPTY); +++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ +++#endif /* PNG_READ_APNG_SUPPORTED */ +++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++PNG_INTERNAL_FUNCTION(void,png_write_acTL,(png_structp png_ptr, +++ png_uint_32 num_frames, png_uint_32 num_plays),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_write_fcTL,(png_structp png_ptr, +++ png_uint_32 width, png_uint_32 height, +++ png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, +++ png_byte dispose_op, png_byte blend_op),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_write_fdAT,(png_structp png_ptr, +++ png_const_bytep data, png_size_t length),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_write_reset,(png_structp png_ptr),PNG_EMPTY); +++PNG_INTERNAL_FUNCTION(void,png_write_reinit,(png_structp png_ptr, +++ png_infop info_ptr, png_uint_32 width, png_uint_32 height),PNG_EMPTY); +++#endif /* PNG_WRITE_APNG_SUPPORTED */ +++#endif /* PNG_APNG_SUPPORTED */ +++ ++ /* Added at libpng version 1.4.0 */ ++ #ifdef PNG_COLORSPACE_SUPPORTED ++ /* These internal functions are for maintaining the colorspace structure within ++diff -Naru libpng-1.6.39.org/pngread.c libpng-1.6.39/pngread.c ++--- libpng-1.6.39.org/pngread.c 2022-11-24 08:37:51.508052181 +0900 +++++ libpng-1.6.39/pngread.c 2022-11-24 08:41:17.786489737 +0900 ++@@ -161,6 +161,9 @@ ++ ++ else if (chunk_name == png_IDAT) ++ { +++#ifdef PNG_READ_APNG_SUPPORTED +++ png_have_info(png_ptr, info_ptr); +++#endif ++ png_ptr->idat_size = length; ++ break; ++ } ++@@ -255,6 +258,17 @@ ++ png_handle_iTXt(png_ptr, info_ptr, length); ++ #endif ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ else if (chunk_name == png_acTL) +++ png_handle_acTL(png_ptr, info_ptr, length); +++ +++ else if (chunk_name == png_fcTL) +++ png_handle_fcTL(png_ptr, info_ptr, length); +++ +++ else if (chunk_name == png_fdAT) +++ png_handle_fdAT(png_ptr, info_ptr, length); +++#endif +++ ++ else ++ png_handle_unknown(png_ptr, info_ptr, length, ++ PNG_HANDLE_CHUNK_AS_DEFAULT); ++@@ -262,6 +276,72 @@ ++ } ++ #endif /* SEQUENTIAL_READ */ ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++void PNGAPI +++png_read_frame_head(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */ +++ +++ png_debug(0, "Reading frame head"); +++ +++ if (!(png_ptr->mode & PNG_HAVE_acTL)) +++ png_error(png_ptr, "attempt to png_read_frame_head() but " +++ "no acTL present"); +++ +++ /* do nothing for the main IDAT */ +++ if (png_ptr->num_frames_read == 0) +++ return; +++ +++ png_read_reset(png_ptr); +++ png_ptr->flags &= ~PNG_FLAG_ROW_INIT; +++ png_ptr->mode &= ~PNG_HAVE_fcTL; +++ +++ have_chunk_after_DAT = 0; +++ for (;;) +++ { +++ png_uint_32 length = png_read_chunk_header(png_ptr); +++ +++ if (png_ptr->chunk_name == png_IDAT) +++ { +++ /* discard trailing IDATs for the first frame */ +++ if (have_chunk_after_DAT || png_ptr->num_frames_read > 1) +++ png_error(png_ptr, "png_read_frame_head(): out of place IDAT"); +++ png_crc_finish(png_ptr, length); +++ } +++ +++ else if (png_ptr->chunk_name == png_fcTL) +++ { +++ png_handle_fcTL(png_ptr, info_ptr, length); +++ have_chunk_after_DAT = 1; +++ } +++ +++ else if (png_ptr->chunk_name == png_fdAT) +++ { +++ png_ensure_sequence_number(png_ptr, length); +++ +++ /* discard trailing fdATs for frames other than the first */ +++ if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1) +++ png_crc_finish(png_ptr, length - 4); +++ else if(png_ptr->mode & PNG_HAVE_fcTL) +++ { +++ png_ptr->idat_size = length - 4; +++ png_ptr->mode |= PNG_HAVE_IDAT; +++ +++ break; +++ } +++ else +++ png_error(png_ptr, "png_read_frame_head(): out of place fdAT"); +++ } +++ else +++ { +++ png_warning(png_ptr, "Skipped (ignored) a chunk " +++ "between APNG chunks"); +++ png_crc_finish(png_ptr, length); +++ } +++ } +++} +++#endif /* PNG_READ_APNG_SUPPORTED */ +++ ++ /* Optional call to update the users info_ptr structure */ ++ void PNGAPI ++ png_read_update_info(png_structrp png_ptr, png_inforp info_ptr) ++diff -Naru libpng-1.6.39.org/pngrutil.c libpng-1.6.39/pngrutil.c ++--- libpng-1.6.39.org/pngrutil.c 2022-11-24 08:37:51.510052177 +0900 +++++ libpng-1.6.39/pngrutil.c 2022-11-24 08:41:17.787489734 +0900 ++@@ -864,6 +864,11 @@ ++ filter_type = buf[11]; ++ interlace_type = buf[12]; ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ png_ptr->first_frame_width = width; +++ png_ptr->first_frame_height = height; +++#endif +++ ++ /* Set internal variables */ ++ png_ptr->width = width; ++ png_ptr->height = height; ++@@ -2858,6 +2863,179 @@ ++ } ++ #endif ++ +++#ifdef PNG_READ_APNG_SUPPORTED +++void /* PRIVATE */ +++png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) +++{ +++ png_byte data[8]; +++ png_uint_32 num_frames; +++ png_uint_32 num_plays; +++ png_uint_32 didSet; +++ +++ png_debug(1, "in png_handle_acTL"); +++ +++ if (!(png_ptr->mode & PNG_HAVE_IHDR)) +++ { +++ png_error(png_ptr, "Missing IHDR before acTL"); +++ } +++ else if (png_ptr->mode & PNG_HAVE_IDAT) +++ { +++ png_warning(png_ptr, "Invalid acTL after IDAT skipped"); +++ png_crc_finish(png_ptr, length); +++ return; +++ } +++ else if (png_ptr->mode & PNG_HAVE_acTL) +++ { +++ png_warning(png_ptr, "Duplicate acTL skipped"); +++ png_crc_finish(png_ptr, length); +++ return; +++ } +++ else if (length != 8) +++ { +++ png_warning(png_ptr, "acTL with invalid length skipped"); +++ png_crc_finish(png_ptr, length); +++ return; +++ } +++ +++ png_crc_read(png_ptr, data, 8); +++ png_crc_finish(png_ptr, 0); +++ +++ num_frames = png_get_uint_31(png_ptr, data); +++ num_plays = png_get_uint_31(png_ptr, data + 4); +++ +++ /* the set function will do error checking on num_frames */ +++ didSet = png_set_acTL(png_ptr, info_ptr, num_frames, num_plays); +++ if(didSet) +++ png_ptr->mode |= PNG_HAVE_acTL; +++} +++ +++void /* PRIVATE */ +++png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) +++{ +++ png_byte data[22]; +++ png_uint_32 width; +++ png_uint_32 height; +++ png_uint_32 x_offset; +++ png_uint_32 y_offset; +++ png_uint_16 delay_num; +++ png_uint_16 delay_den; +++ png_byte dispose_op; +++ png_byte blend_op; +++ +++ png_debug(1, "in png_handle_fcTL"); +++ +++ png_ensure_sequence_number(png_ptr, length); +++ +++ if (!(png_ptr->mode & PNG_HAVE_IHDR)) +++ { +++ png_error(png_ptr, "Missing IHDR before fcTL"); +++ } +++ else if (png_ptr->mode & PNG_HAVE_IDAT) +++ { +++ /* for any frames other then the first this message may be misleading, +++ * but correct. PNG_HAVE_IDAT is unset before the frame head is read +++ * i can't think of a better message */ +++ png_warning(png_ptr, "Invalid fcTL after IDAT skipped"); +++ png_crc_finish(png_ptr, length-4); +++ return; +++ } +++ else if (png_ptr->mode & PNG_HAVE_fcTL) +++ { +++ png_warning(png_ptr, "Duplicate fcTL within one frame skipped"); +++ png_crc_finish(png_ptr, length-4); +++ return; +++ } +++ else if (length != 26) +++ { +++ png_warning(png_ptr, "fcTL with invalid length skipped"); +++ png_crc_finish(png_ptr, length-4); +++ return; +++ } +++ +++ png_crc_read(png_ptr, data, 22); +++ png_crc_finish(png_ptr, 0); +++ +++ width = png_get_uint_31(png_ptr, data); +++ height = png_get_uint_31(png_ptr, data + 4); +++ x_offset = png_get_uint_31(png_ptr, data + 8); +++ y_offset = png_get_uint_31(png_ptr, data + 12); +++ delay_num = png_get_uint_16(data + 16); +++ delay_den = png_get_uint_16(data + 18); +++ dispose_op = data[20]; +++ blend_op = data[21]; +++ +++ if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0)) +++ { +++ png_warning(png_ptr, "fcTL for the first frame must have zero offset"); +++ return; +++ } +++ +++ if (info_ptr != NULL) +++ { +++ if (png_ptr->num_frames_read == 0 && +++ (width != info_ptr->width || height != info_ptr->height)) +++ { +++ png_warning(png_ptr, "size in first frame's fcTL must match " +++ "the size in IHDR"); +++ return; +++ } +++ +++ /* The set function will do more error checking */ +++ png_set_next_frame_fcTL(png_ptr, info_ptr, width, height, +++ x_offset, y_offset, delay_num, delay_den, +++ dispose_op, blend_op); +++ +++ png_read_reinit(png_ptr, info_ptr); +++ +++ png_ptr->mode |= PNG_HAVE_fcTL; +++ } +++} +++ +++void /* PRIVATE */ +++png_have_info(png_structp png_ptr, png_infop info_ptr) +++{ +++ if((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL)) +++ { +++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN; +++ info_ptr->num_frames++; +++ } +++} +++ +++void /* PRIVATE */ +++png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) +++{ +++ png_ensure_sequence_number(png_ptr, length); +++ +++ /* This function is only called from png_read_end(), png_read_info(), +++ * and png_push_read_chunk() which means that: +++ * - the user doesn't want to read this frame +++ * - or this is an out-of-place fdAT +++ * in either case it is safe to ignore the chunk with a warning */ +++ png_warning(png_ptr, "ignoring fdAT chunk"); +++ png_crc_finish(png_ptr, length - 4); +++ PNG_UNUSED(info_ptr) +++} +++ +++void /* PRIVATE */ +++png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length) +++{ +++ png_byte data[4]; +++ png_uint_32 sequence_number; +++ +++ if (length < 4) +++ png_error(png_ptr, "invalid fcTL or fdAT chunk found"); +++ +++ png_crc_read(png_ptr, data, 4); +++ sequence_number = png_get_uint_31(png_ptr, data); +++ +++ if (sequence_number != png_ptr->next_seq_num) +++ png_error(png_ptr, "fcTL or fdAT chunk with out-of-order sequence " +++ "number found"); +++ +++ png_ptr->next_seq_num++; +++} +++#endif /* PNG_READ_APNG_SUPPORTED */ +++ ++ #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED ++ /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */ ++ static int ++@@ -4166,7 +4344,38 @@ ++ { ++ uInt avail_in; ++ png_bytep buffer; +++#ifdef PNG_READ_APNG_SUPPORTED +++ png_uint_32 bytes_to_skip = 0; +++ +++ while (png_ptr->idat_size == 0 || bytes_to_skip != 0) +++ { +++ png_crc_finish(png_ptr, bytes_to_skip); +++ bytes_to_skip = 0; ++ +++ png_ptr->idat_size = png_read_chunk_header(png_ptr); +++ if (png_ptr->num_frames_read == 0) +++ { +++ if (png_ptr->chunk_name != png_IDAT) +++ png_error(png_ptr, "Not enough image data"); +++ } +++ else +++ { +++ if (png_ptr->chunk_name == png_IEND) +++ png_error(png_ptr, "Not enough image data"); +++ if (png_ptr->chunk_name != png_fdAT) +++ { +++ png_warning(png_ptr, "Skipped (ignored) a chunk " +++ "between APNG chunks"); +++ bytes_to_skip = png_ptr->idat_size; +++ continue; +++ } +++ +++ png_ensure_sequence_number(png_ptr, png_ptr->idat_size); +++ +++ png_ptr->idat_size -= 4; +++ } +++ } +++#else ++ while (png_ptr->idat_size == 0) ++ { ++ png_crc_finish(png_ptr, 0); ++@@ -4178,7 +4387,7 @@ ++ if (png_ptr->chunk_name != png_IDAT) ++ png_error(png_ptr, "Not enough image data"); ++ } ++- +++#endif /* PNG_READ_APNG_SUPPORTED */ ++ avail_in = png_ptr->IDAT_read_size; ++ ++ if (avail_in > png_ptr->idat_size) ++@@ -4241,6 +4450,9 @@ ++ ++ png_ptr->mode |= PNG_AFTER_IDAT; ++ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; +++#ifdef PNG_READ_APNG_SUPPORTED +++ png_ptr->num_frames_read++; +++#endif ++ ++ if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0) ++ png_chunk_benign_error(png_ptr, "Extra compressed data"); ++@@ -4678,4 +4890,80 @@ ++ ++ png_ptr->flags |= PNG_FLAG_ROW_INIT; ++ } +++ +++#ifdef PNG_READ_APNG_SUPPORTED +++/* This function is to be called after the main IDAT set has been read and +++ * before a new IDAT is read. It resets some parts of png_ptr +++ * to make them usable by the read functions again */ +++void /* PRIVATE */ +++png_read_reset(png_structp png_ptr) +++{ +++ png_ptr->mode &= ~PNG_HAVE_IDAT; +++ png_ptr->mode &= ~PNG_AFTER_IDAT; +++ png_ptr->row_number = 0; +++ png_ptr->pass = 0; +++} +++ +++void /* PRIVATE */ +++png_read_reinit(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_ptr->width = info_ptr->next_frame_width; +++ png_ptr->height = info_ptr->next_frame_height; +++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width); +++ png_ptr->info_rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, +++ png_ptr->width); +++ if (png_ptr->prev_row) +++ memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1); +++} +++ +++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +++/* same as png_read_reset() but for the progressive reader */ +++void /* PRIVATE */ +++png_progressive_read_reset(png_structp png_ptr) +++{ +++#ifdef PNG_READ_INTERLACING_SUPPORTED +++ /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */ +++ +++ /* Start of interlace block */ +++ const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; +++ +++ /* Offset to next interlace block */ +++ const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; +++ +++ /* Start of interlace block in the y direction */ +++ const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1}; +++ +++ /* Offset to next interlace block in the y direction */ +++ const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2}; +++ +++ if (png_ptr->interlaced) +++ { +++ if (!(png_ptr->transformations & PNG_INTERLACE)) +++ png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 - +++ png_pass_ystart[0]) / png_pass_yinc[0]; +++ else +++ png_ptr->num_rows = png_ptr->height; +++ +++ png_ptr->iwidth = (png_ptr->width + +++ png_pass_inc[png_ptr->pass] - 1 - +++ png_pass_start[png_ptr->pass]) / +++ png_pass_inc[png_ptr->pass]; +++ } +++ else +++#endif /* PNG_READ_INTERLACING_SUPPORTED */ +++ { +++ png_ptr->num_rows = png_ptr->height; +++ png_ptr->iwidth = png_ptr->width; +++ } +++ png_ptr->flags &= ~PNG_FLAG_ZSTREAM_ENDED; +++ if (inflateReset(&(png_ptr->zstream)) != Z_OK) +++ png_error(png_ptr, "inflateReset failed"); +++ png_ptr->zstream.avail_in = 0; +++ png_ptr->zstream.next_in = 0; +++ png_ptr->zstream.next_out = png_ptr->row_buf; +++ png_ptr->zstream.avail_out = (uInt)PNG_ROWBYTES(png_ptr->pixel_depth, +++ png_ptr->iwidth) + 1; +++} +++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ +++#endif /* PNG_READ_APNG_SUPPORTED */ ++ #endif /* READ */ ++diff -Naru libpng-1.6.39.org/pngset.c libpng-1.6.39/pngset.c ++--- libpng-1.6.39.org/pngset.c 2022-11-24 08:37:51.510052177 +0900 +++++ libpng-1.6.39/pngset.c 2022-11-24 08:41:17.787489734 +0900 ++@@ -288,6 +288,11 @@ ++ info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth); ++ ++ info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width); +++ +++#ifdef PNG_APNG_SUPPORTED +++ /* for non-animated png. this may be overwritten from an acTL chunk later */ +++ info_ptr->num_frames = 1; +++#endif ++ } ++ ++ #ifdef PNG_oFFs_SUPPORTED ++@@ -1161,6 +1166,147 @@ ++ } ++ #endif /* sPLT */ ++ +++#ifdef PNG_APNG_SUPPORTED +++png_uint_32 PNGAPI +++png_set_acTL(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 num_frames, png_uint_32 num_plays) +++{ +++ png_debug1(1, "in %s storage function", "acTL"); +++ +++ if (png_ptr == NULL || info_ptr == NULL) +++ { +++ png_warning(png_ptr, +++ "Call to png_set_acTL() with NULL png_ptr " +++ "or info_ptr ignored"); +++ return (0); +++ } +++ if (num_frames == 0) +++ { +++ png_warning(png_ptr, +++ "Ignoring attempt to set acTL with num_frames zero"); +++ return (0); +++ } +++ if (num_frames > PNG_UINT_31_MAX) +++ { +++ png_warning(png_ptr, +++ "Ignoring attempt to set acTL with num_frames > 2^31-1"); +++ return (0); +++ } +++ if (num_plays > PNG_UINT_31_MAX) +++ { +++ png_warning(png_ptr, +++ "Ignoring attempt to set acTL with num_plays " +++ "> 2^31-1"); +++ return (0); +++ } +++ +++ info_ptr->num_frames = num_frames; +++ info_ptr->num_plays = num_plays; +++ +++ info_ptr->valid |= PNG_INFO_acTL; +++ +++ return (1); +++} +++ +++/* delay_num and delay_den can hold any 16-bit values including zero */ +++png_uint_32 PNGAPI +++png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 width, png_uint_32 height, +++ png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, +++ png_byte dispose_op, png_byte blend_op) +++{ +++ png_debug1(1, "in %s storage function", "fcTL"); +++ +++ if (png_ptr == NULL || info_ptr == NULL) +++ { +++ png_warning(png_ptr, +++ "Call to png_set_fcTL() with NULL png_ptr or info_ptr " +++ "ignored"); +++ return (0); +++ } +++ +++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset, +++ delay_num, delay_den, dispose_op, blend_op); +++ +++ if (blend_op == PNG_BLEND_OP_OVER) +++ { +++ if (!(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) && +++ !(png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))) +++ { +++ png_warning(png_ptr, "PNG_BLEND_OP_OVER is meaningless " +++ "and wasteful for opaque images, ignored"); +++ blend_op = PNG_BLEND_OP_SOURCE; +++ } +++ } +++ +++ info_ptr->next_frame_width = width; +++ info_ptr->next_frame_height = height; +++ info_ptr->next_frame_x_offset = x_offset; +++ info_ptr->next_frame_y_offset = y_offset; +++ info_ptr->next_frame_delay_num = delay_num; +++ info_ptr->next_frame_delay_den = delay_den; +++ info_ptr->next_frame_dispose_op = dispose_op; +++ info_ptr->next_frame_blend_op = blend_op; +++ +++ info_ptr->valid |= PNG_INFO_fcTL; +++ +++ return (1); +++} +++ +++void /* PRIVATE */ +++png_ensure_fcTL_is_valid(png_structp png_ptr, +++ png_uint_32 width, png_uint_32 height, +++ png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, +++ png_byte dispose_op, png_byte blend_op) +++{ +++ if (width == 0 || width > PNG_UINT_31_MAX) +++ png_error(png_ptr, "invalid width in fcTL (> 2^31-1)"); +++ if (height == 0 || height > PNG_UINT_31_MAX) +++ png_error(png_ptr, "invalid height in fcTL (> 2^31-1)"); +++ if (x_offset > PNG_UINT_31_MAX) +++ png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)"); +++ if (y_offset > PNG_UINT_31_MAX) +++ png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)"); +++ if (width + x_offset > png_ptr->first_frame_width || +++ height + y_offset > png_ptr->first_frame_height) +++ png_error(png_ptr, "dimensions of a frame are greater than" +++ "the ones in IHDR"); +++ +++ if (dispose_op != PNG_DISPOSE_OP_NONE && +++ dispose_op != PNG_DISPOSE_OP_BACKGROUND && +++ dispose_op != PNG_DISPOSE_OP_PREVIOUS) +++ png_error(png_ptr, "invalid dispose_op in fcTL"); +++ +++ if (blend_op != PNG_BLEND_OP_SOURCE && +++ blend_op != PNG_BLEND_OP_OVER) +++ png_error(png_ptr, "invalid blend_op in fcTL"); +++ +++ PNG_UNUSED(delay_num) +++ PNG_UNUSED(delay_den) +++} +++ +++png_uint_32 PNGAPI +++png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr, +++ png_byte is_hidden) +++{ +++ png_debug(1, "in png_first_frame_is_hidden()"); +++ +++ if (png_ptr == NULL) +++ return 0; +++ +++ if (is_hidden) +++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN; +++ else +++ png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN; +++ +++ PNG_UNUSED(info_ptr) +++ +++ return 1; +++} +++#endif /* PNG_APNG_SUPPORTED */ +++ ++ #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED ++ static png_byte ++ check_location(png_const_structrp png_ptr, int location) ++diff -Naru libpng-1.6.39.org/pngstruct.h libpng-1.6.39/pngstruct.h ++--- libpng-1.6.39.org/pngstruct.h 2022-11-24 08:37:51.510052177 +0900 +++++ libpng-1.6.39/pngstruct.h 2022-11-24 08:41:17.787489734 +0900 ++@@ -399,6 +399,27 @@ ++ png_byte filter_type; ++ #endif ++ +++#ifdef PNG_APNG_SUPPORTED +++ png_uint_32 apng_flags; +++ png_uint_32 next_seq_num; /* next fcTL/fdAT chunk sequence number */ +++ png_uint_32 first_frame_width; +++ png_uint_32 first_frame_height; +++ +++#ifdef PNG_READ_APNG_SUPPORTED +++ png_uint_32 num_frames_read; /* incremented after all image data of */ +++ /* a frame is read */ +++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED +++ png_progressive_frame_ptr frame_info_fn; /* frame info read callback */ +++ png_progressive_frame_ptr frame_end_fn; /* frame data read callback */ +++#endif +++#endif +++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ png_uint_32 num_frames_to_write; +++ png_uint_32 num_frames_written; +++#endif +++#endif /* PNG_APNG_SUPPORTED */ +++ ++ /* New members added in libpng-1.2.0 */ ++ ++ /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */ ++diff -Naru libpng-1.6.39.org/pngtest.c libpng-1.6.39/pngtest.c ++--- libpng-1.6.39.org/pngtest.c 2022-11-24 08:37:51.510052177 +0900 +++++ libpng-1.6.39/pngtest.c 2022-11-24 08:41:17.787489734 +0900 ++@@ -875,6 +875,10 @@ ++ volatile int num_passes; ++ int pass; ++ int bit_depth, color_type; +++#ifdef PNG_APNG_SUPPORTED +++ png_uint_32 num_frames; +++ png_uint_32 num_plays; +++#endif ++ ++ row_buf = NULL; ++ error_parameters.file_name = inname; ++@@ -1383,6 +1387,22 @@ ++ } ++ } ++ #endif +++ +++#ifdef PNG_APNG_SUPPORTED +++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) +++ { +++ if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays)) +++ { +++ png_byte is_hidden; +++ pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)", +++ num_frames, num_plays); +++ png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays); +++ is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr); +++ png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden); +++ } +++ } +++#endif +++ ++ #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED ++ { ++ png_unknown_chunkp unknowns; ++@@ -1463,6 +1483,110 @@ ++ t_misc += (t_stop - t_start); ++ t_start = t_stop; ++ #endif +++#ifdef PNG_APNG_SUPPORTED +++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) +++ { +++ png_uint_32 frame; +++ for (frame = 0; frame < num_frames; frame++) +++ { +++ png_uint_32 frame_width; +++ png_uint_32 frame_height; +++ png_uint_32 x_offset; +++ png_uint_32 y_offset; +++ png_uint_16 delay_num; +++ png_uint_16 delay_den; +++ png_byte dispose_op; +++ png_byte blend_op; +++ png_read_frame_head(read_ptr, read_info_ptr); +++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL)) +++ { +++ png_get_next_frame_fcTL(read_ptr, read_info_ptr, +++ &frame_width, &frame_height, +++ &x_offset, &y_offset, +++ &delay_num, &delay_den, +++ &dispose_op, &blend_op); +++ } +++ else +++ { +++ frame_width = width; +++ frame_height = height; +++ x_offset = 0; +++ y_offset = 0; +++ delay_num = 1; +++ delay_den = 1; +++ dispose_op = PNG_DISPOSE_OP_NONE; +++ blend_op = PNG_BLEND_OP_SOURCE; +++ } +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf, +++ frame_width, frame_height, +++ x_offset, y_offset, +++ delay_num, delay_den, +++ dispose_op, blend_op); +++#endif +++ for (pass = 0; pass < num_passes; pass++) +++ { +++# ifdef calc_pass_height +++ png_uint_32 pass_height; +++ +++ if (num_passes == 7) /* interlaced */ +++ { +++ if (PNG_PASS_COLS(frame_width, pass) > 0) +++ pass_height = PNG_PASS_ROWS(frame_height, pass); +++ +++ else +++ pass_height = 0; +++ } +++ +++ else /* not interlaced */ +++ pass_height = frame_height; +++# else +++# define pass_height frame_height +++# endif +++ +++ pngtest_debug1("Writing row data for pass %d", pass); +++ for (y = 0; y < pass_height; y++) +++ { +++#ifndef SINGLE_ROWBUF_ALLOC +++ pngtest_debug2("Allocating row buffer (pass %d, y = %u)...", pass, y); +++ +++ row_buf = (png_bytep)png_malloc(read_ptr, +++ png_get_rowbytes(read_ptr, read_info_ptr)); +++ +++ pngtest_debug2("\t0x%08lx (%lu bytes)", (unsigned long)row_buf, +++ (unsigned long)png_get_rowbytes(read_ptr, read_info_ptr)); +++ +++#endif /* !SINGLE_ROWBUF_ALLOC */ +++ png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1); +++ +++#ifdef PNG_WRITE_SUPPORTED +++#ifdef PNGTEST_TIMING +++ t_stop = (float)clock(); +++ t_decode += (t_stop - t_start); +++ t_start = t_stop; +++#endif +++ png_write_rows(write_ptr, (png_bytepp)&row_buf, 1); +++#ifdef PNGTEST_TIMING +++ t_stop = (float)clock(); +++ t_encode += (t_stop - t_start); +++ t_start = t_stop; +++#endif +++#endif /* PNG_WRITE_SUPPORTED */ +++ +++#ifndef SINGLE_ROWBUF_ALLOC +++ pngtest_debug2("Freeing row buffer (pass %d, y = %u)", pass, y); +++ png_free(read_ptr, row_buf); +++ row_buf = NULL; +++#endif /* !SINGLE_ROWBUF_ALLOC */ +++ } +++ } +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ png_write_frame_tail(write_ptr, write_info_ptr); +++#endif +++ } +++ } +++ else +++#endif ++ for (pass = 0; pass < num_passes; pass++) ++ { ++ # ifdef calc_pass_height ++diff -Naru libpng-1.6.39.org/pngwrite.c libpng-1.6.39/pngwrite.c ++--- libpng-1.6.39.org/pngwrite.c 2022-11-24 08:37:51.511052176 +0900 +++++ libpng-1.6.39/pngwrite.c 2022-11-24 08:41:17.787489734 +0900 ++@@ -128,6 +128,10 @@ ++ * the application continues writing the PNG. So check the 'invalid' ++ * flag here too. ++ */ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ if (info_ptr->valid & PNG_INFO_acTL) +++ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays); +++#endif ++ #ifdef PNG_GAMMA_SUPPORTED ++ # ifdef PNG_WRITE_gAMA_SUPPORTED ++ if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 && ++@@ -370,6 +374,11 @@ ++ png_benign_error(png_ptr, "Wrote palette index exceeding num_palette"); ++ #endif ++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ if (png_ptr->num_frames_written != png_ptr->num_frames_to_write) +++ png_error(png_ptr, "Not enough frames written"); +++#endif +++ ++ /* See if user wants us to write information chunks */ ++ if (info_ptr != NULL) ++ { ++@@ -1471,6 +1480,43 @@ ++ } ++ #endif ++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++void PNGAPI +++png_write_frame_head(png_structp png_ptr, png_infop info_ptr, +++ png_bytepp row_pointers, png_uint_32 width, png_uint_32 height, +++ png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op, +++ png_byte blend_op) +++{ +++ png_debug(1, "in png_write_frame_head"); +++ +++ /* there is a chance this has been set after png_write_info was called, +++ * so it would be set but not written. is there a way to be sure? */ +++ if (!(info_ptr->valid & PNG_INFO_acTL)) +++ png_error(png_ptr, "png_write_frame_head(): acTL not set"); +++ +++ png_write_reset(png_ptr); +++ +++ png_write_reinit(png_ptr, info_ptr, width, height); +++ +++ if ( !(png_ptr->num_frames_written == 0 && +++ (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ) ) +++ png_write_fcTL(png_ptr, width, height, x_offset, y_offset, +++ delay_num, delay_den, dispose_op, blend_op); +++ +++ PNG_UNUSED(row_pointers) +++} +++ +++void PNGAPI +++png_write_frame_tail(png_structp png_ptr, png_infop info_ptr) +++{ +++ png_debug(1, "in png_write_frame_tail"); +++ +++ png_ptr->num_frames_written++; +++ +++ PNG_UNUSED(info_ptr) +++} +++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ ++ #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED ++ /* Initialize the write structure - general purpose utility. */ ++diff -Naru libpng-1.6.39.org/pngwutil.c libpng-1.6.39/pngwutil.c ++--- libpng-1.6.39.org/pngwutil.c 2022-11-24 08:37:51.511052176 +0900 +++++ libpng-1.6.39/pngwutil.c 2022-11-24 08:41:17.788489731 +0900 ++@@ -821,6 +821,11 @@ ++ /* Write the chunk */ ++ png_write_complete_chunk(png_ptr, png_IHDR, buf, 13); ++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ png_ptr->first_frame_width = width; +++ png_ptr->first_frame_height = height; +++#endif +++ ++ if ((png_ptr->do_filter) == PNG_NO_FILTERS) ++ { ++ if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE || ++@@ -1002,8 +1007,17 @@ ++ optimize_cmf(data, png_image_size(png_ptr)); ++ #endif ++ ++- if (size > 0) ++- png_write_complete_chunk(png_ptr, png_IDAT, data, size); +++ if (size > 0) +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ { +++ if (png_ptr->num_frames_written == 0) +++#endif +++ png_write_complete_chunk(png_ptr, png_IDAT, data, size); +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ else +++ png_write_fdAT(png_ptr, data, size); +++ } +++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ png_ptr->mode |= PNG_HAVE_IDAT; ++ ++ png_ptr->zstream.next_out = data; ++@@ -1050,7 +1064,17 @@ ++ #endif ++ ++ if (size > 0) +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ { +++ if (png_ptr->num_frames_written == 0) +++#endif ++ png_write_complete_chunk(png_ptr, png_IDAT, data, size); +++#ifdef PNG_WRITE_APNG_SUPPORTED +++ else +++ png_write_fdAT(png_ptr, data, size); +++ } +++#endif /* PNG_WRITE_APNG_SUPPORTED */ +++ ++ png_ptr->zstream.avail_out = 0; ++ png_ptr->zstream.next_out = NULL; ++ png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT; ++@@ -1885,6 +1909,82 @@ ++ } ++ #endif ++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++void /* PRIVATE */ +++png_write_acTL(png_structp png_ptr, +++ png_uint_32 num_frames, png_uint_32 num_plays) +++{ +++ png_byte buf[8]; +++ +++ png_debug(1, "in png_write_acTL"); +++ +++ png_ptr->num_frames_to_write = num_frames; +++ +++ if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) +++ num_frames--; +++ +++ png_save_uint_32(buf, num_frames); +++ png_save_uint_32(buf + 4, num_plays); +++ +++ png_write_complete_chunk(png_ptr, png_acTL, buf, (png_size_t)8); +++} +++ +++void /* PRIVATE */ +++png_write_fcTL(png_structp png_ptr, png_uint_32 width, png_uint_32 height, +++ png_uint_32 x_offset, png_uint_32 y_offset, +++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op, +++ png_byte blend_op) +++{ +++ png_byte buf[26]; +++ +++ png_debug(1, "in png_write_fcTL"); +++ +++ if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0)) +++ png_error(png_ptr, "x and/or y offset for the first frame aren't 0"); +++ if (png_ptr->num_frames_written == 0 && +++ (width != png_ptr->first_frame_width || +++ height != png_ptr->first_frame_height)) +++ png_error(png_ptr, "width and/or height in the first frame's fcTL " +++ "don't match the ones in IHDR"); +++ +++ /* more error checking */ +++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset, +++ delay_num, delay_den, dispose_op, blend_op); +++ +++ png_save_uint_32(buf, png_ptr->next_seq_num); +++ png_save_uint_32(buf + 4, width); +++ png_save_uint_32(buf + 8, height); +++ png_save_uint_32(buf + 12, x_offset); +++ png_save_uint_32(buf + 16, y_offset); +++ png_save_uint_16(buf + 20, delay_num); +++ png_save_uint_16(buf + 22, delay_den); +++ buf[24] = dispose_op; +++ buf[25] = blend_op; +++ +++ png_write_complete_chunk(png_ptr, png_fcTL, buf, (png_size_t)26); +++ +++ png_ptr->next_seq_num++; +++} +++ +++void /* PRIVATE */ +++png_write_fdAT(png_structp png_ptr, +++ png_const_bytep data, png_size_t length) +++{ +++ png_byte buf[4]; +++ +++ png_write_chunk_header(png_ptr, png_fdAT, (png_uint_32)(4 + length)); +++ +++ png_save_uint_32(buf, png_ptr->next_seq_num); +++ png_write_chunk_data(png_ptr, buf, 4); +++ +++ png_write_chunk_data(png_ptr, data, length); +++ +++ png_write_chunk_end(png_ptr); +++ +++ png_ptr->next_seq_num++; +++} +++#endif /* PNG_WRITE_APNG_SUPPORTED */ +++ ++ /* Initializes the row writing capability of libpng */ ++ void /* PRIVATE */ ++ png_write_start_row(png_structrp png_ptr) ++@@ -2778,4 +2878,39 @@ ++ } ++ #endif /* WRITE_FLUSH */ ++ } +++ +++#ifdef PNG_WRITE_APNG_SUPPORTED +++void /* PRIVATE */ +++png_write_reset(png_structp png_ptr) +++{ +++ png_ptr->row_number = 0; +++ png_ptr->pass = 0; +++ png_ptr->mode &= ~PNG_HAVE_IDAT; +++} +++ +++void /* PRIVATE */ +++png_write_reinit(png_structp png_ptr, png_infop info_ptr, +++ png_uint_32 width, png_uint_32 height) +++{ +++ if (png_ptr->num_frames_written == 0 && +++ (width != png_ptr->first_frame_width || +++ height != png_ptr->first_frame_height)) +++ png_error(png_ptr, "width and/or height in the first frame's fcTL " +++ "don't match the ones in IHDR"); +++ if (width > png_ptr->first_frame_width || +++ height > png_ptr->first_frame_height) +++ png_error(png_ptr, "width and/or height for a frame greater than" +++ "the ones in IHDR"); +++ +++ png_set_IHDR(png_ptr, info_ptr, width, height, +++ info_ptr->bit_depth, info_ptr->color_type, +++ info_ptr->interlace_type, info_ptr->compression_type, +++ info_ptr->filter_type); +++ +++ png_ptr->width = width; +++ png_ptr->height = height; +++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width); +++ png_ptr->usr_width = png_ptr->width; +++} +++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ #endif /* WRITE */ ++diff -Naru libpng-1.6.39.org/scripts/symbols.def libpng-1.6.39/scripts/symbols.def ++--- libpng-1.6.39.org/scripts/symbols.def 2022-11-24 08:37:51.515052168 +0900 +++++ libpng-1.6.39/scripts/symbols.def 2022-11-24 08:41:17.788489731 +0900 ++@@ -253,3 +253,23 @@ ++ png_set_eXIf @247 ++ png_get_eXIf_1 @248 ++ png_set_eXIf_1 @249 +++ png_get_acTL @250 +++ png_set_acTL @251 +++ png_get_num_frames @252 +++ png_get_num_plays @253 +++ png_get_next_frame_fcTL @254 +++ png_set_next_frame_fcTL @255 +++ png_get_next_frame_width @256 +++ png_get_next_frame_height @257 +++ png_get_next_frame_x_offset @258 +++ png_get_next_frame_y_offset @259 +++ png_get_next_frame_delay_num @260 +++ png_get_next_frame_delay_den @261 +++ png_get_next_frame_dispose_op @262 +++ png_get_next_frame_blend_op @263 +++ png_get_first_frame_is_hidden @264 +++ png_set_first_frame_is_hidden @265 +++ png_read_frame_head @266 +++ png_set_progressive_frame_fn @267 +++ png_write_frame_head @268 +++ png_write_frame_tail @269 diff --cc debian/patches/libpng-config.patch index 0000000,0000000..25b177f new file mode 100644 --- /dev/null +++ b/debian/patches/libpng-config.patch @@@ -1,0 -1,0 +1,61 @@@ ++Description: this patch is needed to strip arch-dep bits and get a multiarch -dev package. ++Index: libpng1.6-1.6.21/scripts/libpng-config-body.in ++=================================================================== ++--- libpng1.6-1.6.21.orig/scripts/libpng-config-body.in +++++ libpng1.6-1.6.21/scripts/libpng-config-body.in ++@@ -6,7 +6,7 @@ ++ Known values for OPTION are: ++ ++ --prefix print libpng prefix ++- --libdir print path to directory containing library +++ --libdir print path to directory containing library (disabled in Debian/Ubuntu) ++ --libs print library linking information ++ --ccopts print compiler options ++ --cppflags print pre-processor flags ++@@ -57,6 +57,8 @@ ++ ;; ++ ++ --libdir) +++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu" +++ exit 1 ++ echo ${libdir} ++ ;; ++ ++Index: libpng1.6-1.6.21/libpng-config.in ++=================================================================== ++--- libpng1.6-1.6.21.orig/libpng-config.in +++++ libpng1.6-1.6.21/libpng-config.in ++@@ -14,12 +14,13 @@ ++ version="@PNGLIB_VERSION@" ++ prefix="@prefix@" ++ exec_prefix="@exec_prefix@" ++-libdir="@libdir@" +++# we disable that to make the -dev package Multi-Arch: same +++libdir= ++ includedir="@includedir@/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@" ++ libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@" ++ all_libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ @LIBS@" ++ I_opts="-I${includedir}" ++-L_opts="-L${libdir}" +++L_opts= ++ R_opts="" ++ cppflags="" ++ ccopts="" ++@@ -33,7 +34,7 @@ ++ Known values for OPTION are: ++ ++ --prefix print libpng prefix ++- --libdir print path to directory containing library +++ --libdir print path to directory containing library (disabled in Debian/Ubuntu) ++ --libs print library linking information ++ --ccopts print compiler options ++ --cppflags print pre-processor flags ++@@ -84,6 +85,8 @@ ++ ;; ++ ++ --libdir) +++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu" +++ exit 1 ++ echo ${libdir} ++ ;; ++ diff --cc debian/patches/series index 0000000,0000000..88cc6c0 new file mode 100755 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,2 @@@ ++libpng-config.patch ++#libpng-1.6.39-apng.patch diff --cc debian/rules index 0000000,0000000..925abc4 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,36 @@@ ++#!/usr/bin/make -f ++# -*- makefile -*- ++ ++# Uncomment this to turn on verbose mode. ++# export DH_VERBOSE=1 ++ ++export DEB_BUILD_MAINT_OPTIONS := hardening=+all ++export DEB_CFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS) ++export DEB_CXXFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS) ++export DPKG_GENSYMBOLS_CHECK_LEVEL = 4 ++CC?=gcc ++ ++%: ++ dh $@ --buildsystem=cmake ++ ++include /usr/share/dpkg/architecture.mk ++ ++ifneq (,$(filter $(DEB_HOST_ARCH_CPU),powerpc ppc64)) ++# VSX is an extension of AltiVec, which is not part of the baseline. ++# see https://wiki.debian.org/ArchitectureSpecificsMemo ++override_dh_auto_configure: ++ dh_auto_configure -- -DPNG_POWERPC_VSX=off ++endif ++ ++override_dh_auto_test: ++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ++ dh_auto_test ++ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) ++ $(CC) $(CFLAGS) $(CPPFLAGS) -Wall -g -O2 -c -o pngtest.o pngtest.c -I obj-$(DEB_HOST_GNU_TYPE) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pngtest-static -Wall -g -O2 pngtest.o obj-$(DEB_HOST_GNU_TYPE)/libpng16.a -lz -lm ++ ./pngtest-static ++endif ++endif ++ ++override_dh_makeshlibs: ++ dh_makeshlibs --add-udeb=libpng16-16-udeb -a diff --cc debian/salsa-ci.yml index 0000000,0000000..8424db4 new file mode 100644 --- /dev/null +++ b/debian/salsa-ci.yml @@@ -1,0 -1,0 +1,3 @@@ ++--- ++include: ++ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/upstream/metadata index 0000000,0000000..1bc9379 new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,4 @@@ ++Bug-Database: https://github.com/pnggroup/libpng/issues ++Bug-Submit: https://github.com/pnggroup/libpng/issues/new ++Repository: https://github.com/pnggroup/libpng.git ++Repository-Browse: https://github.com/pnggroup/libpng diff --cc debian/watch index 0000000,0000000..3c1ed54 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,10 @@@ ++# qa.debian.org runs a redirector which allows a simpler form of URL ++# for SourceForge based projects. The format below will automatically ++# be rewritten to use the redirector. ++#opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/_/./g;s/^(\S+-x86\.64)/0.0.$1/;s/^(\S+-i586)/0.0.$1/,pgpsigurlmangle=s/$/.asc/ \ ++# http://www.libpng.org/pub/png/libpng.html .*/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) ++#http://sf.net/libpng/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) ++# ++version=4 ++opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/libpng-$1\.tar\.gz/ \ ++ https://github.com/pnggroup/libpng/tags .*/v?(\d\S+)\.tar\.gz